FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 
smartsuitefaq.martinholz.de Foren-Übersicht

Probleme bei Checkbox-Abfrage in einem Script

 
Neues Thema eröffnen   Neue Antwort erstellen    smartsuitefaq.martinholz.de Foren-Übersicht -> Approach
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
horkol
Neuer User


Anmeldungsdatum: 25.03.2016
Beiträge: 4
Wohnort: Neckarsteinach

BeitragVerfasst am: Fr 25.03.2016 19:50    Titel: Probleme bei Checkbox-Abfrage in einem Script Antworten mit Zitat

Hallo liebe Forumsmitglieder,
ich habe folgendes Problem: in einem Formular habe ich eine Checkbox wie folgt definiert: Name: "MP3Version", Dateneingabetyp: "Kontrollkästchen". In den Felddefinitionen wird als Datentyp "Logisch" und als Größe "Fest" angezeigt. Bei Datenänderung (Häkchen setzen) wird über ein Makro
folgendes Script aufgerufen:
Sub SMP3Pruef
Dim TTArt As String
Set CurrentWindow.ActiveView = CurrentDocument.FTT
TTArt = CurrentView.body.TArt.text
I f TTArt = "MP3" Then
Messagebox "Der Schalter ''MP3Version'' darf nicht gesetzt werden, wenn im" & Chr(10) & _
"Feld Tonträger-Art (TT-Art) ''MP3'' angezeigt wird." & Chr(10) & Chr(10) & _
"Der Schalter ''MP3Version'' weist darauf hin, dass es von dieser" & Chr(10) & _
"CD auch eine MP3-Version auf PC und Smartphone gibt.", 64, "Falsche Anforderung"
End If
End Sub
In der vorliegenden Form funktioniert das Script auch. Es hat nur den Nachteil, dass es auch dann funktioniert, wenn ich anschließend das Häkchen wieder entferne. Ich möchte also im Script das Häkchen entfernen. Leider weiß ich nicht wie das geht. Wenn man versucht an den Inhalt des Feldes "MP3Version" über "CurrentView.body.MP3Version.text" ranzukommen, wird folgende Fehlermeldung angezeigt: "Invalid Name. Cannot Bind to Object's Property or Method."
Ich habe noch folgendes gefunden: Der interne Name der Checkbox ist "ObjCheckBox3". Die Eigenschaften der Checkbox habe ich unter "CURRENTVIEW OBJECTLIST [33] [CHECKBOX]" gefunden. Schon mal vielen Dank für Eure Hilfe.
Horkol
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cornelius
Moderator / CoAdmin


Anmeldungsdatum: 31.12.2004
Beiträge: 248
Wohnort: Duisburg

BeitragVerfasst am: Di 29.03.2016 16:57    Titel: Antworten mit Zitat

Hallo,

der Datentyp ist logisch, daher kann das Feld nur einen Wert annehmen, "Ja" oder "Nein"

In deinem Script heißt es:
CurrentView.Body.TArt.text

Die Eigenschaft Text gibt es wirklich, bezieht sich aber auf das Label, wenn ich mich nicht irre.

CurrentView.Body.Value

gibt Ja oder Nein zurück, wie gesagt, bei logischen Datenfelder. Sollte das nicht der Fall sein und der Rückgabewert immer Ja sein, dann ist die Definition in der Ansicht falsch.

Gruß

Cornelius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden MSN Messenger
horkol
Neuer User


Anmeldungsdatum: 25.03.2016
Beiträge: 4
Wohnort: Neckarsteinach

BeitragVerfasst am: Di 29.03.2016 18:29    Titel: Antworten mit Zitat

Cornelius hat folgendes geschrieben:
Hallo,

der Datentyp ist logisch, daher kann das Feld nur einen Wert annehmen, "Ja" oder "Nein"

In deinem Script heißt es:
CurrentView.Body.TArt.text

Die Eigenschaft Text gibt es wirklich, bezieht sich aber auf das Label, wenn ich mich nicht irre.

CurrentView.Body.Value

gibt Ja oder Nein zurück, wie gesagt, bei logischen Datenfelder. Sollte das nicht der Fall sein und der Rückgabewert immer Ja sein, dann ist die Definition in der Ansicht falsch.

Gruß

Cornelius


Hallo Cornelius,
danke für die schnelle Antwort. Es liegt hier ein Missverständnis vor. Das Script, so wie ich es hingeschrieben habe, funktioniert ja. Im nachfolgenden Text ist der Fehler beschrieben. Die Checkbox hat den Namen "MP3Version". Und ja, wenn ich unter Browse die Datensätze anschaue, wird mir bei gesetzten Häkchen das "Ja" angezeigt. Auch die Ansprache der TextBox mit "CurrentView.body.MP3Version.Value" bringt die gleiche Fehlermeldung.
Gruß Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cornelius
Moderator / CoAdmin


Anmeldungsdatum: 31.12.2004
Beiträge: 248
Wohnort: Duisburg

BeitragVerfasst am: Di 29.03.2016 19:32    Titel: Antworten mit Zitat

Hi,

dann gehe mal in den Design Modus, rufe das Eigenschaftsfenster auf, Register Makros, Objektname. Dieser Name muss in

CurrentView.Body.Objektname.value stehen.

Das muss nicht der Feldname sein, könnte aber.

Gruß

Cornelius[/img]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden MSN Messenger
horkol
Neuer User


Anmeldungsdatum: 25.03.2016
Beiträge: 4
Wohnort: Neckarsteinach

BeitragVerfasst am: Di 29.03.2016 20:56    Titel: Antworten mit Zitat

Cornelius hat folgendes geschrieben:
Hi,

dann gehe mal in den Design Modus, rufe das Eigenschaftsfenster auf, Register Makros, Objektname. Dieser Name muss in

CurrentView.Body.Objektname.value stehen.

Das muss nicht der Feldname sein, könnte aber.

Gruß

Cornelius[/img]


Hi,
wie ich schon erwähnte, ist das der Name "ObjCheckBox3". Der bringt die gleiche Fehlermeldung. Unter "CURRENTVIEW OBJECTLIST [33] [CHECKBOX]" sind ja die Eigenschaften dieser Scheckbox beschrieben. Hier einige Auszüge daraus: CHECKEDVALUE: "Ja", DATAFIELD: "MP3Version", ISCHECKED: 0, LABELTEXT: "MP3Version", NAME: "ObjCheckBox3" usw.
Gruß Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
horkol
Neuer User


Anmeldungsdatum: 25.03.2016
Beiträge: 4
Wohnort: Neckarsteinach

BeitragVerfasst am: Di 29.03.2016 21:26    Titel: Antworten mit Zitat

Hi,
ich glaube, ich habe den Fehler gefunden. Der Hinweis auf den internen Namen war schon richtig. Dann ist mir aber doch aufgefallen, dass die Fehlermeldung eine andere war, nämlich "Type mismatch". Ich hatte die Checkbox wie folgt abgefragt: "CurrentView.body.ObjCheckBox3.Value = -1" nachdem ich das in "CurrentView.body.ObjCheckBox3.Value = "Ja" geändert habe funktionierte es. Vielen Dank für die Hilfe.
Gruß Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    smartsuitefaq.martinholz.de Foren-Übersicht -> Approach Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Protected by Anti-Spam ACP