Ein Listenauswahl-Dialogfeld
661
Berichte
Was ist passiert? Nach dem Schließen des vorgeschalteten Dialogfeldes zeigt der Verweis
Forms!
[frmKinoProgramm2].[lstWoche]
ins Leere. Fazit: Das Formular darf erst dann geschlossen werden,
wenn die Zuweisung an die Filter-Eigenschaft erfolgt ist.
Um für dieses Problem eine Lösung zu finden, muss man etwas über das Verhalten von Dialog-
feldern in Windows wissen. Wenn ein Dialogfeld in einer Applikation geöffnet wird, so liegt es ganz
oben, d.h. über allen anderen Fenstern der Applikation. Sie können kein anderes Fenster der Appli-
kation aktivieren, solange das Dialogfeld sichtbar ist. Die Betonung liegt auf »sichtbar«. Ein Dialog-
feld wird unsichtbar, wenn Sie es schließen oder die Eigenschaft Sichtbar (engl. visible) des Dialog-
feldes auf Nein setzen.
Diese Eigenschaft von Dialogfeldern wird nun genutzt. Fügen Sie eine neue Befehlsschaltfläche ein,
die Sie cmdHide nennen. Für die Befehlsschaltfläche auf dem vorgeschalteten Formular wird für das
Ereignis Beim Klicken das folgende Programm vereinbart, um es unsichtbar zu machen.
Dadurch wird erreicht, dass beim Öffnen des Berichts im Programm nach der Zeile
mit dem nächsten Befehl zum Zuweisen des Filters fortgefahren wird. Um das Dialogfeld trotz allem
endgültig zu schließen, wird für das Ereignis Beim Aktivieren des Berichts
vereinbart. Das Ereignis tritt nach Beim Öffnen ein und schließt das unsichtbare Dialogfeld.
Ein Listenauswahl-Dialogfeld
Wir möchten Ihnen im Folgenden ein Dialogfeld vorstellen, in dem der Anwender die gewünschte
Ausgabeliste anwählen kann.
Das Dialogfeld ist so programmiert, dass bei Auswahl der Option Filmliste nach FSK die Options-
gruppe FSK aktiv geschaltet wird und dann eine Selektion der Altersstufe erfolgen kann.
Die erste und die dritte Option der Gruppe Filmlisten rufen den gleichen Bericht auf, allerdings mit
anderen Bedingungen. Die zweite Option selektiert einen eigenen Bericht.
Private Sub cmdHide_Click()
Me.Visible = False
End Sub
DoCmd.OpenForm "frmKinoProgramm2", WindowMode:=acDialog
Private Sub Report_Activate()
DoCmd.Close acForm, "frmKinoProgramm2"
End Sub
Kapitel 30
Formulare für Berichte
662
Abbildg. 30.8
Dialogfeld für die Listenausgabe
Abbildg. 30.9
Option Filmliste nach FSK selektiert
Ein Listenauswahl-Dialogfeld
663
Berichte
Anlegen des Formulars
Beim Anlegen der Optionsgruppe fraFSK definieren Sie die in Abbildg. 30.10 dargestellten Werte.
Diese Werte werden später beim Erstellen der entsprechenden Berichte gebraucht.
Abbildg. 30.10
Definition der Beschriftungen und Werte für die Optionsgruppe fraFSK
Nennen Sie die erste Optionsgruppe fraFilmlisten, die zweite fraFSK.
Die Gruppe KSF ist standardmäßig deaktiviert: auf dem Eigenschaftenblatt (Registerblatt Daten) die
Eigenschaft Aktiviert auf Nein gesetzt. Nach dem Laden des Formulars ist die erste Option vorselek-
tiert. Dies wurde durch Setzen der Eigenschaft Standardwert für die Optionsgruppe Filmlisten auf
den Wert 1 erreicht. Der Wert 1 ist der ersten Option zugeordnet, die Werte 2 und 3 entsprechend
den weiteren Optionen.
Die Formularprozeduren
In Abbildg. 30.11 sind die für das Formular definierten Ereignisprozeduren abgebildet.
Abbildg. 30.11
Prozeduren für das Formular Drucklisten

Get Microsoft Office Access 2007 - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.