Mittwoch, 22. November 2017

Home
Tipps
Bücher
Software
News / Links
Hilfe
Impressum

Sponsored by
QualityHosting

Frage und Antwort
Mindestalter erzwingen (Access 97, 2000)
von Bernd Koch
Problem:

Ich habe in einem Formular den Beginn einer Veranstaltung als Datumsfeld. In einem zweiten Feld steht das Geburtsdatum von Teilnehmern, die an dieser Veranstaltung teilnehmen wollen. Nun möchte ich prüfen (auf den Tag genau) ob ein Teilnehmer ein bestimmtes Mindestalter hat. Da das Mindestalter bei verschiedenen Veranstaltungen unterschiedlich ist, sollte in einem dritten Feld nur das Alter als Zahl eingesetzt werden müssen.

Wird das Mindestalter nicht erreicht, erscheint eine Warnmeldung.

Antwort der TriniDat GmbH:

Access-97-Datenbank mit Mindestalter-Abfrage

Wie so viele Aufgaben kann auch diese hauptsächlich mit einer Abfrage erledigt werden. Die Beispieldatenbank zu dieser Leseranfrage enthält zunächst eine Tabelle namens tblVeranstaltungen mit den Feldern, die Herr Koch erwähnt hat. Die Abfrage qryTeilnehmer gibt die Daten aus dieser Tabelle zusammen mit einigen berechneten Feldern zurück.

Um festzustellen, ob das Mindestalter zum Veranstaltungsbeginn vom Teilnehmer erreicht werden wird, brauchen wir zuerst das Alter an dem Datum, an dem die Veranstaltung beginnt. Dieses Datum kann entweder in der Zukunft oder in der Vergangenheit liegen. Dazu nehmen wir folgendes berechnetes Abfragefeld:

AlterDann: Wenn(DatSeriell(Jahr([Beginn]);
Monat([TeilnehmerGeburtstag]);
Tag([TeilnehmerGeburtstag]))<=[Beginn];
Jahr([Beginn])-Jahr([TeilnehmerGeburtstag]);
Jahr([Beginn])-Jahr([TeilnehmerGeburtstag])-1)

Dieses Feld sieht beim ersten Blick ziemlich komplex aus, ist aber nichts Anderes als eine modifizierte Version der Funktion zur Berechnung des aktuellen Alters. Ein weiteres Abfragefeld vergleicht das Mindestalter mit dem Alter des Teilnehmers am Veranstaltungsbeginn: Mindestalter erreicht:

[AlterDann]>=[Mindestalter]

Dieses Feld gibt den Wert True bzw. False zurück. Das Ergebnis können Sie jedoch mit einem passenden Text formatieren. Geben Sie folgenden Text in der Format-Eigenschaft des Feldes ein:

"Mindestalter nicht erreicht"[Rot]; "Mindestalter OK"


Ein Service der TriniDat Software-Entwicklung GmbH - Am Wehrhahn 45 - 40211 Düsseldorf

  Suche
Suche starten
  Service
Leserbrief / Frage zu Access
Kontakt
  NewsLetter
NewLetter bestellen
NewsLetter abbestellen
  Partner-Seiten
HyperLink

www.trinidat.de


HyperLink

www.fulldotnet.de