Hallo liebes Forum!
Ich habe in einem Register "Druck/Zeitung" u.a. 4 ja/nein Felder. Kann ich mithilfe dieser Felder andere Register automatisch aus- und einblenden? Wenn ich z.B. auf die ja/nein Schaltfläche Liederzettel "nein" gewählt habe, wäre es schön, wenn diese Registerkarte garnicht erst erscheint!
Kann ich das per Code bei klicken lösen?
Danke für Hilfe
Dorian
Hallo Dorian,
ja das geht, das kann man realisieren.
Wenn du die Register direkt beim Ankaken der Felder (ich gehe davon aus, dass du mitJa/Nein-Feldern Checkboxen also Kontrollkästchen meinst) ausblenden möchtest:
Folgendes ist UNGETESTET!
Ins Ereignis 'Beim Klicken' der betreffenden Checkbox (angenommen, dass diese 'chkLiederzettel' heißt) --->
Private Sub chkLiederzettel_Click()
If Me!chkLiederzettel = 0 then
Me!NameDeinerRegisterkarte.Visible = True
Else
Me!NameDeinerRegisterkarte.Visible = False
End If
End Sub
Beim Laden des Formulars musst dann überprüfen ob die Checkbox auf ja oder nein steht und entsprechend die Sichtbarkleit der Registerkarte setzen.
Voraussetzung ist aber, dass die Zustände der Checkboxen in der DB gespeichert sind.
HTH
Peter
Hallo Peter!
Ich habe es mit Deiner Hilfe gelöst!
Private Sub Trauer_Brief_Click()
If Me!Trauer_Brief = 0 Then
Forms!Auftraege!Trauerbriefe!.Visible = False
Else
Forms!Auftraege!Trauerbriefe!.Visible = True
End If
End Sub
Klappt alles prima!
Danke für Deine (so oft schon) Hilfe!
LG
Dorian
PS: Sollte ich vor Forms! noch Me! hinzufügen???
Neee, geht nur ohne Me!
Hallo Dorian,
freut mich, dass ich mal wieder helfen konnte :)
ZitatSollte ich vor Forms! noch Me! hinzufügen
Nein, mit Forms! wird die Forms-Auflistung aufgerufen in der dann das Formular 'Auftraege' gefunden wird.
Nach Auftraege folgt wiederum ein ! um die Auflistung der Steuerelemente aufzurufen, in der dann das Registersteuerelement 'Trauerbriefe' angesprochen wird.
Für dieses wird dann mittels Punkt die Eigenschaft Visible auf wahr oder falsch gesetzt.
Nach 'Trauerbriefe' sollte KEIN Rufzeichen mehr stehen!
siehe hierzu bitte auch: www.donkarl.com?FAQ6.3 (http://www.donkarl.com?FAQ6.3)
Greets
Peter
Hallo Peter!
Ja so langsam fange ich an die ersten Schritte zu verstehen ;D
Danke Dir für Deine Hilfe!
LG
Dorian
Hallo Peter!
Doch noch eine Frage. Die Ereignisse bei Click funktionieren jetzt. Jetzt möchte ich diese Ereignisse beim Laden des Formulars ebenfalls als Codes einfügen:
If Me!Trauer_Brief = 0 Then
Forms!Auftraege!Trauerbriefe!.Visible = False
Else
Forms!Auftraege!Trauerbriefe!.Visible = True
End If
Private Sub Trauer_Zeitung_Click()
If Me!Trauer_Zeitung = 0 Then
Forms!Auftraege!Traueranzeige.Visible = False
Else
Forms!Auftraege!Traueranzeige.Visible = True
End If
End Sub
Ich muss sie glaube ich auf "Public" setzten und eine Run Sql ??? Anweisung machen, oder?
Dorian
Hallo Dorian,
für die Überprüfung der Chekboxen brauchst du keine SQL Anweisung, den Zustand kannst du eigentlich auch aus dem Formular erfragen.
Alternativ kann der Zustand natürlich auch aus der betroffenen Tabelle selbst ermittelt werden - dazu kann ich aber keine definitive Aussage oder Tipp liefern, da ich jetzt nicht weiß wie die Zuordnung der betreffenden Daten in deiner Datenbank gehandelt wird.
Daher zum Formular
Um den Zustand der Häkchen beim Öffnen des Formulars zu Prüfen benötigst du das Ereignis 'beim Öffnen' des Hauptformulars!
Ich gehe davon aus, dass ich deine Beschreibung genau verstanden habe und im Formular 'Auftraege' 2 Checkboxen erstellt wurden, die 1. mit dem Namen Trauer_Brief und die 2. mit dem Namen Trauer_Zeitung.
Je nach Zustand dieser Checkboxen - angehakt oder nicht - wird die zugeordnete Registerkarte angezeigt oder nicht.
Also sollte folgendes den gewünschten Effekt bringen:
Im Formular Autraege:
Private Sub Form_Open(Cancel As Integer)
If Me!Trauer_Brief = 0 Then
Forms!Auftraege!Trauerbriefe.Visible = False
Else
Forms!Auftraege!Trauerbriefe.Visible = True
End If
If Me!Trauer_Zeitung = 0 Then
Forms!Auftraege!Traueranzeige.Visible = False
Else
Forms!Auftraege!Traueranzeige.Visible = True
End If
End Sub
Wenn sich die Chekboxen nicht auf dem Formular 'Auftraege' befinden musst du in der If - Bedingung statt Me! die Ansprache Forms!Auftraege!NameDerRegisterkarte!Trauer_Brief / Trauer_Zeitung verwenden.
Hoffe es Klappt auch diesmal... :)
Grüße
Peter
Hallo Peter!
Jaaa auch das habe ich mir Deiner Hilfe hinbekommen.
Jetzt nur noch eine Frage:
Wenn ich den Datensatz ändere, möchte ich ja auch diese Codes ausführen.
Ist das dann Datensatzwechsel: "Bei Änderung" oder "Bei Datenänderung" oder?
Dorian
Hi Dorian,
Das sollte das Ereignis 'Beim Anzeigen' des Formulars sein also Form_Current
Greets Peter
Hi Peter!
Ja, jetzt ist alles richtig!!!
Vielen Dank!
Dorian