Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Fehlerhinweis verhindern

Begonnen von Herby49, Dezember 21, 2011, 21:52:15

⏪ vorheriges - nächstes ⏩

Herby49

Es spricht nichts dagegen, außer dass ich halt eine relativ große Tabelle mit in der DB habe und - wenn ich's richtig in Erinnerunghabe - kommt bei einer Fehleingabe auch wieder eine Access-Meldung in der Art: "Ihre Auswahl ist kein Element dieser Liste" (oder so ähnlich).
Aber vielleicht probier ich über die Feiertage doch mal vorurteilsfrei beide Varianten.

Gruß
Herby

MzKlMu

#16
Hallo,
Zitatkommt bei einer Fehleingabe auch wieder eine Access-Meldung in der Art: "Ihre Auswahl ...
Die kannst Du problemlos abfangen, mit einem Hinweis der passt.
Aber ein Kombifeld verfeinert sich mit jedem Tastendruck automatisch, sodass Falscheingaben relativ unwahrscheinlich werden.
Ein Tabelle für 100 Jahre sind gerade mal 146KB an Daten. Das ist ja nun nicht die Welt.

Und nicht zuletzt, kann diese Hilfstabelle auch an anderer Stelle durchaus sehr nützlich sein.
Gruß Klaus

Herby49

okay, das ist ein Argument. 146 KB ist wirklich nicht die Welt.
Vielen Dank

Gruß
Herby

daolix

Ohne das ich jetzt Lexware kenne oder das Datepickercontrol aus acc2010, aber evtl. arbeitet lexware mit 2 controls, dem Datepicker nur mit dem dropdown und einer separaten Textbox. in dieser Textbox kannst du dann alles mögliche eingeben ohne das die das dtPickercontrol in die quere kommt. und in die textbox ereignisse codierst du dann deine datumsvalidierung.

MzKlMu

#19
Hallo,
Zitatund in die textbox ereignisse codierst du dann deine datumsvalidierung.
Aber genau die Datumsvalidierung ist ja das Problem.
Man kann ohne großen Aufwand in Access kein Datum wirklich auf Gültigkeit prüfen.
Die Funktion IsDate nimmt z.B. sowohl 31.12.2011 als auch 12.31.2011 als gültig an. Und das gilt ja für viele Datumseinträge.

30.6.2011 = gültig
6.30.2011 = gültig
6.31.2001 = ungültig
31.6.2011 = ungültig

Um das Datum wirklich als gültiges Datum im deutschen Format zu prüfen, muss man eine eigene Funktion anlegen, die das Datum zerlegt und prüft. dabei ist auch das Schaltjahr zu berücksichtigen.
Gruß Klaus

daolix

Hallo

Zitat von: MzKlMuAber genau die Datumsvalidierung ist ja das Problem.
dem widerspreche ich ja nicht. Ich nahm nur bezug auf den Vergleich mit lexware, ich weis nicht wie der in gecodet wurde, ob die ihren eigenen DTP erstellt haben oden den von MS genommen haben. Den DTP den ich kenne ( also den von MS aus den Commons, ich weis jetzt nicht ob der DTP in Acc2010 was anderes ist ) mach genau das was er soll, den Benutzer dazu zwingen ein richtiges Datum einzugeben. Auch weis ich nicht welche verkürzten Schreibweisen das LxW-dingens akzeptiert, yyyymmdd, ddmmyyyy, dmyy etc... und noch richtig nervend die amerikanische schreibweise mmddyyyy etc
Weil ich irgenwie rauslas das Herby in seinen Datumsfeld das DTP als auch gewisse Freiheitsgrade bezüglich der eingabe eingebaut haben wollte hab ich den Vorschlag mit den 2 Controls gemacht. Die Validierung wollte Herby ja dann mit mit VBA selbst realisieren.

Herby49

Hallo zusammen
Das "Lexware-Dings" scheint mir ein einziges Control zu sein, weil der Datumspicker verborgen ist und erst dann erscheint, wenn man in das Feld klickt (klar, könnte auch die Eigenschaft "Visible/invisible" nutzen. Sieht zumindest gut aus. Und das datum wird sehr gut validiert

010112 wird zu 01.01.2012  (richtig)
29.02.11 wird zu 29.02.2011 aber das Datum wird mit einer Meldung als falsch ausgewiesen.

Zum Code:
Klar ist da Aufwand vonnöten, aber den will ich ja betreiben z.B. in der Form, dass
geprüft wird, ob nur Ziffern und ".", "," und "-" enthalten sind  -> sonst e falsch
Länge >= 6 Zeichen
Falls 6 Zeichen: Datumstrennzeichen setzen, aus den letzten beiden Ziffern eine 4stellige Zahl machen
Kommata als Trennzeichen durch den Punkt ersetzen.
Der Programmieraufwand dürfte sich in Grenzen halten.
Aber weil eh Access eine Fehlerbehandlung beim Format Datum nicht zulässt, werde ich wohl den Vorschlag mir der Datumstabelle realisieren.
Schade eigentlich, aber ih werde es schon überleben.

Liebe Grpße und Dank an alle, die sich den Kopf zerbrochen haben und Frohe Festtage

Herby