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
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.
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.
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
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
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.
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?
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.