Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Arnostone am Februar 04, 2015, 11:51:16

Titel: Geburtstagsliste mit Access 2007
Beitrag von: Arnostone am Februar 04, 2015, 11:51:16
Hallo,

kannm mir vielleicht einer von Euch Profis weiterhelfen? Ich habe eine Tabelle von Mitarbeitern (tblMitarbeiter), die dort mit dem Geburtsdatum erfasst sind. In einer Abfrage möchte ich nun neben den Namen und dem Geburtsdatum auch noch aufgelistet bekommen, wieviele Tage es jeweils noch bis zum nächsten Geburstag sind (inkl. Schaltjahrberücksichtigung).

Weiterhin: wie schaffe ich es, dass ich mir eine Übersicht anzeigen lassen kann, wer in den nächsten 10 Tagen geburtstag hat? Muss ich dafür eine zweite Abfrage machen, oder einen Bericht (Sorry, lerne noch).

Und: Wie lässt sich eine Erinnerungsfunktion im Formular einbauen (also z.B. "diese Woche hat Person X Geburtstag"? Geht das überhaupt?

Arno
Titel: Re: Geburtstagsliste mit Access 2007
Beitrag von: DF6GL am Februar 04, 2015, 12:12:39
Hallo,


siehe hier:  http://www.donkarl.com/?FAQ3.12

ZitatWie lässt sich eine Erinnerungsfunktion im Formular einbauen

Vorschlag wäre, beim Start der DB zu prüfen, ob ein Geburtstag in die aktuelle Woche fällt. Das kann z. B. als Prozedur im Start-Formular oder als Aufruf einer entspr. Funktion im Autoexec-Makro passieren.

Titel: Re: Geburtstagsliste mit Access 2007
Beitrag von: Arnostone am Februar 04, 2015, 12:46:32
Hallo,
das klingt gut. Wie setze ich diese Prozedur um, dass beim Start der DB geprüft wird, wer in der aktuellen Woche Geburstag hat? Bin leider Anfänger und muss mich erst einarbeiten.
Titel: Re: Geburtstagsliste mit Access 2007
Beitrag von: MaggieMay am Februar 04, 2015, 15:59:25
Hallo,

du kannst den Code an ein Startformular binden oder aus dem AutoExec-Makro *) heraus anstoßen.

*) ein Makro namens AutoExec, das automatisch beim Start ausgeführt wird
Titel: Re: Geburtstagsliste mit Access 2007
Beitrag von: Arnostone am Februar 05, 2015, 11:03:23
Wie müsste denn der Code aussehen, wenn z.B. zusätzlich zum Startformular
- ein zusätzliches kleines Formular dann aufploppen soll, wenn jemand in den nächsten 10 Tagen Geburtstag hat
- in dem angezeigt wird "Name" und "Geburtstag" aus der "tblMitarbeiter"

Arno
Titel: Re: Geburtstagsliste mit Access 2007
Beitrag von: MaggieMay am Februar 05, 2015, 12:32:49
Du brauchst erstmal eine Abfrage, um die Geburtstagskonder zu ermitteln. Dann kannst du beim Öffnen (oder Laden) des Startformulars mittels DCount-Funktion prüfen, ob die Abfrage Datensätze liefert und wenn ja, öffnest du das PupUp-Formular.
Titel: Re: Geburtstagsliste mit Access 2007
Beitrag von: Arnostone am Februar 05, 2015, 12:41:42
Geht das über VBA (kenn mich nicht aus) oder geht das einfacher? Bin leider Laie und schon der Begriff DCount erzeugt bei mir Sorgenfalten

Die Abfrage mit den Geburtstagsdaten habe ich. Ich müsste also ein neues Formular bauen, in dem dann nur die Namen und die Geburstage angezeigt werden? Wie sieht denn der Code für DCount aus?
Titel: Re: Geburtstagsliste mit Access 2007
Beitrag von: MaggieMay am Februar 05, 2015, 13:17:56
Das Formular (frmGeburtstage) auf Basis der Abfrage (abfGeburtstage) zu erstellen, dürfte ja kein Problem sein.

Im Startformular stellst du dann das Load-Ereignis auf "Ereignisprozedur" ein und gehst über die drei Punkte in den VBA-Editor.
Dort gibst du folgenden Code ein:
If DCount("*", "abfGeburtstage") > 0 Then
    DoCmd.OpenForm "frmGeburtstage", acNormal, , , acFormReadOnly, acDialog
End If


Was die Parameter der OpenForm-Methode betrifft, so kannst du das in der Access-Hilfe nachlesen.