PDA

Vollständige Version anzeigen : Geburtstagserinnerung


Maik Settler
29.08.2001, 16:13
Danke liebes Forum,

die schnelle Beantwortung war super!

Nun fehlt mir nur noch eine Benachrichtigung beim Oeffnen der Datenbank, ob jemand Geburtstag hat.

Koennte mir (einem Acces-Frischling!?) bitte die entsprechenden englischen Zeilen fuer VisualBasic posten. Mein Daten sind sind unter dem Feld "Date Of Birth" im Table "Staff" zu finden. Supercool waere es, wenn dann eine MessageBox aufspringen koennte, die mir den "Name" und "Surname" (aus der gleichen Tabellen) anzeigene koennte.

Waere klasse, wenn mir da jemand weiterhelfen koennte ...

Danke an @ all
Maik

flori
29.08.2001, 16:49
Hallo!

Guck mal weiter unten auf dieser Seite, da ist schon ein Eintrag mit demselben Thema. Sicherlich findest du da Anregungen!!

Maik Settler
29.08.2001, 17:04
Danke, aber daher habe ich ja ueberhaupt erst die Anregung! Bloss beim Uebersetzen ins Englische ... und ueberhaupt den Visual Basic Befehlen tue ich mich reichlich schwer!

Deswegen waere ja auch so eine Komplettloesung sehr nett! Aber trotzdem danke fuer fuer den Hinweis

Maik :)

flori
29.08.2001, 17:19
Wieso das übersetzen ins Englische ist schwer??? Die Befehle in VBA sind normalerweise immer in Englisch. Ich arbeite mit meiner schwedischen Access-Version, aber die Befehle nimmt er nur in Englisch.

Zwischen VisualBasic und VBA ist auch noch ein kleiner Unterschied.

Ich kann mich daran erinnern, dass in dem Eintrag auch eine Seite mit einer Komplettlösung angegeben ist. Hast du da schon geguckt?

Maik Settler
30.08.2001, 08:45
Hi Flori,

ja, die Version von DONKARL habe ich natuerlich ausgedruckt votliegen, kann damit aber leider dank fast Null-Ahnung nix anfangen ... sorry! Ich bin leider so gar nicht Access-, VDA-, etc.-kundig, da diese Sachen mich in meiner bisherigen EDV-Leben nie "belasteten" (war mehr so 'ne Spielernatur!?) ...

Waere demnach super, wenn Du mir da doch ein wenig unter die Arme greifen koenntest ... ich lerne hier zwar schon bei jedem Problem dazu, aber hierfuer reicht's leider nicht ...

Maik :)

flori
30.08.2001, 09:27
Hallo!

In wie weit soll ich dir da helfen? Ich weiss nicht, was du schon hast und was du noch brauchst.

Wie hast du denn angefangen?

Maik Settler
30.08.2001, 09:54
Hi Flori,

das was ich schon hatte, hab ich dank Funktionsunfaehigkeit wieder geloescht, so dass mein Stutus Quo wieder dem ersten Beitrag entspricht. Sorry.

Ich glaube, ich bin ein hoffnungsloser Fall ...

Maik :)

flori
30.08.2001, 10:09
Ja sieht so aus!! ;)

Also erst muss du eine Tabelle mit einem Datum drin haben. Ich nehme an, dass hast du schon!
Dann kannst du ein Makro schreiben mit dem Namen Autoexec (wird beim Starten der Datenbank direkt geöffnet). Damit öffnest du ein Formular, in dem du alle Geburtstage und die Namen dazu anzeigst.
Beim Öffnen des Formulars schreibst du einen Filter rein. Weisst du wie das geht in VBA?
Und dieser Filter, filtert dir eben alle Daten weg, die nicht mit dem heutigen übereinstimmen.

Maik Settler
30.08.2001, 10:14
Danke Flori,

also das mit dem Makro versuche ich mir gleich mal anzueignen, aber der Filter ...

Vielleicht koenntest Du da ja nochmal etwas mehr ins Detail gehen ... rechne bitte einfach mal mit dem SuperDAU auf der anderen Seite.

Verbindlichsten Dank

Maik :)

flori
30.08.2001, 10:22
Erstmal krieg das mit dem Makro auf die Reihe, ich schreibe gleich wie das mit dem Filter geht, muss nur mal ganz kurz eine Auszeit nehmen!!

Bis in 10 min!

Maik Settler
30.08.2001, 10:28
Hi Flori,

super, das Makro laeuft! Kann man es aber auch an einen bestimmten Button knuepfen, der spaeter einmal die Datenbank oeffnen soll? Bin schon richtig gespannt auf den Filter, aber take your time, wirklich ...

Danke fuer alles & bis spaeter

Meik :)

kalle
30.08.2001, 10:32
Hallo!

Weiß nicht, ob es dir hilft, aber ich benutze selbst eine Geburtstagsdatenbank, mit einer Tabelle, einer Abfrage und einem Formular.

In der Tabelle stehen Namen und Geburtsdaten drin, und in der Abfrage wird das aktuelle Datum abgefragt. Das Formular basiert einfach nur auf der Abfrage und zeigt halt einfach nur an, wer heute Geburtstag hat.

Lässt sich natürlich ohne weiteres modifizieren, aber mir reichts eigentlich. Wenn du willst, kann ich's dir gern per Mail schicken.

Gruß, Kalle

Maik Settler
30.08.2001, 10:39
Hi Kalle,

auch Dein Beitrag kling natuerlich verlockend, so dass ich das Angebot gern unter der eMail-Adresse Thomasoppe@Hotmail.com annehmen wuerde.

Maik :)

P.S.: Vielleicht kann man (ich???) spaeter ja mal beide Ansaetze verknuepfen!

flori
30.08.2001, 10:50
Bin schon wieder da!

Also, du kannst das Makro sicher auf einen Button legen. Bzw. das Makro wird jetzt immer dann ausgeführt, wenn du die Datenbank öffnest. Wenn du einen Button in deine "Geburtstagsdatenbank" einfügst um das Formular zu öffnen, brauchst du das Makro nicht, das kannst du dann auch über "DoCmd.Open" in VBA machen.

Nun zu dem Filter:

In das Ereignis beimÖffnen vom Formular schreibst du folgendes:

Dim datum as Variant
datum = Date 'aktuelle Systemdatum wird in Variable datum geschrieben

Me.filter = "[Geburtstag] = #" & datum & "#"
Me.FilterOn = True

Das war schon alles. Sollte auch so funktionieren. Ich habe jetzt angenommen, dass Geburtstag der Feldname deiner Tabelle ist, wenn das ein anderer ist, musst du es eben noch einmal ändern.

Gut, und nun ist Mittag! Mahlzeit!

Maik Settler
30.08.2001, 13:45
Funzt super Flori, nur das diese Formular eben auch erscheint, wenn keiner Geburtstag hat. Wie kann ich denn dieses unterbinden?

Maik :(

flori
30.08.2001, 13:57
Erstmal bin ich froh, dass alles funzt!

Um das leere Formular zu vermeiden, kannst du es so löschen, dass du den Filter anwendest und dann abfragst, ob die Felder einen Inhalt haben. Wenn nicht, wird das Formular geschlossen.

Da bin ich mir nicht so ganz sicher, ob es funzt, habe es selber noch nie gemacht aber probiere mal den Befehl aus:

If IsNull(Steuerelementname.value) then
DoCmd.Close acForm, "Formularname"
end if

Sollte klappen, wenn nicht, einfach wieder melden!