|
|
Thema:
|
Access 97, 2000 und 2002 |
Problem:
|
Über das Kalender-Steuerelement, untergebracht
in einem Hauptformular, soll eine Geburtstagsübersicht für einen
ausgewählten Monat in einem Unterformular angezeigt werden. Wie lässt
sich das am besten realisieren? |
Lösung:
|
Das Kalender-Steuerelement ist für diese
Aufgabe nur bedingt geeignet, da es für einen Wechsel des Monats über
das im Kalender-Steuerelement enthaltene Kombinationsfeld kein
verwertbares Ereignis auslöst. Erst beim Anklicken eines Tages im
Kalender-Steuerelement würde ein Ereignis ausgelöst werden, über
dessen Ereignisprozedur sich der aktuell eingestellte Monat
ermitteln liesse. Am einfachsten wäre hier eine Lösung mit einem
Kombinationsfeld im Hauptformular, über das die Verknüpfung zum
Unterformular erfolgt:
- Zunächst ist die Abfrage zu erweitern, die
die Datensätze mit den Geburtstagen für das Unterformular
liefert. Geben Sie im Abfrageentwurf in einer leeren Spalte
folgendes ein:
Feld: GebMonat: Monat([GebDatum])
Anzeigen: Ja
- Dabei ersetzen Sie "GebDatum"
durch den Namen des Feldes an, das in der Abfrage das
Geburtstagsdatum liefert. Dadurch wird ein zusätzliches Feld
"GebMonat" generiert, das den jeweiligen
Geburtstags-Monat im Bereich "1" bis "12"
beinhaltet.
- Legen Sie im Hauptformular ein
Kombinationsfeld "clMonat" an und stellen Sie die
folgenden vom Standard abweichenden Eigenschaften ein:
Herkunftstyp: Werteliste:
Datensatzherkunft: 1;Januar;2;Februar;
3;März;[...]12;Dezember
Spaltenanzahl: 2
Spaltenbreiten: 0cm;3cm
Standardwert: Monat(Jetzt())
- Das ergibt eine zweispaltige Liste, in der
die erste, gebundene Spalte der Nummer des in der zweiten Spalte
angezeigten Namens entspricht. Da die Spaltenbreite für die
erste Spalte auf "0" gesetzt ist, wird sie
ausgeblendet, so dass nur die Monatsname angezeigt werden.
- Ändern Sie dann die Eigenschaften des
Unterformulars für die Monats-Übersicht wie folgt:
Verknüpfen von: GebMonat
Verknüpfen nach: clMonat
Über diese Verknüpfung wird nun eine Synchronisation gemäss im
Kombinationsfeld eingestellten Monat erreicht. Haben Sie
beispielsweise "März" ausgewählt, ist der Wert des
Kombinationsfeldes "3" - im Unterformular mit der
Geburtstags-Übersicht werden dadurch nur die Datensätze angezeigt,
bei denen das Feld "GebMonat" ebenfalls "3"
beinhaltet. |
|