Abfangen falscher Eingaben in Access

Ste-Re

Mitglied
Access mit Datum rechnen; Fehleingaben abfangen

Hallo Zusammen,

ich eine Access DB lasse ich Werte per Anfügeabfrage an eine Tabelle anfügen. Dabei werden zwei Werte - Personalnummer, Datum - als Parameter übergeben.
Diese beiden Parameter will ich nun auf ihr Gültigkeit überprüfen. Bei der Personalnummer wird die Anfügeoperation automatisch zurückgewiesen, wenn sie der DB nicht bekannt ist - ich würde hier aber gerne ein Eingabeformat definieren, so dass nicht jemand versehentlich 9 statt 8 Ziffern eintippen kann.
Beim Datum wird es noch etwas schwieriger. Hier möchte ich eine Prüfung, ob das Datum in einem gewissen Zeitraum liegt -> also beispielsweise innerhalb der letzten 3 Wochen. Ist das nicht der Fall, soll der Nutzer nochmal Rückgefragt werden, ob er das eingegebene Datum verwenden möchte -> beantwortet er mit "JA" soll es verwendet werden, bei "NEIN" soll die Anfügeoperation abgebrochen werden.
Ich nehme mal an, dass ich hierfür ein Makro brauche, aber das ist für mich ein rotes Tuch ;) Wäre schön, wenn mir hier jemand helfen könnte. Danke

Nachtrag:
Nochmal zu dem Datum. Nach einigem überlegen ;) und Buch lesen ist mir wieder eingefallen, dass ich so ein ähnliches Problem schon mal lösen konnte.
Die gewünschte Rückfrage kann man damit zwar nicht erzwingen, aber zumindest falscheWerte zurückweisen. Mein Gedanke war jetzt in der Anfügeabfrage folgendes Statement in die Bedingungen mit aufzunehmen:
Code:
AND ([Bitte Wunschdatum eingeben] < Date() - 22)

Normalerweise sollten damit nur noch Einträge möglich sein, die maximal 3 Wochen zurück liegen. In die Zukunft gibt es keine Besccchränkung. Aber: statt dessen kann ich keine Daten eingeben deren Tag kleiner ist als der aktuelle (z.B. 10.08). Daten bei denen der Tag größer ist als der vom aktuellen DAtum (z.B. 20.07) sind möglich! Ist das hier ein Access Bug, oder könnten weitere Bedingungen in meiner Abfrage diesen Fehler verursachen?

Was wären sonst noch Alternativen?
Bei DateDiff("ww";[]Bitte Wunschdatum eingeben];Date()) erhalte ich Syntaxfehler, wobei das Semikolon markiert wird:confused: :confused:
 
Zuletzt bearbeitet:
Hallo Gemeinde,

inzwischen konnte ich das Problem lösen. Ich weiß zwar nicht warum die oben gezeigte Variante nicht funktioniert, aber es geht, wenn man den Parameter nicht mit
[Parameter eingeben] definiert, sondern statt dessen in den SQL Code geht und den Parameter mittels der PARAMETERS Anweisung definiert.
 

Neue Beiträge

Zurück