Mindestalter erzwingen (Access 97, 2000)

30.12.2003

Frage:

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:

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"

Dienstleistungen

Als starker Partner an Ihrer Seite unterstützen wir Sie in folgenden Breichen:

Access-Programmierung

Benötigen Sie Unterstützung bei der Programmierung von Access-Anwendungen? Wir bieten die gesamte Bandbreite von der Access-Programmierung auf Stundenbasis bis zur Durchführung eines Software-Projektes als Auftragsarbeit an. Kontaktieren Sie uns für ein kostenloses Erstgespräch.

Software-Beratung

Haben Sie ein Software-Projekt und Sie wissen nicht, ob Access die richtige Plattform ist? Wir haben über 20 Jahre Erfahrung beim Erstellen von Windows-, Web und mobilen Anwendungen. Kontaktieren Sie uns für eine kostenlose Erstberatung.