ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
797
797
EMPFEHLEN
-
Hallo miteinander!
Ich kämpfe gerade schwer mit dem Datum!
Und zwar folgendes:
Ich habe 3 DropDown-Listen (eines für Tag, eines für Monat, eines für Jahr)!
Die kann man ohne Probleme auswählen und diese werden auch in die ACCESS-DB (Typ der Spalte: Datum/Zeit) geschrieben.
Ich habe aber ein Problem damit, wenn kein Datum ausgewählt wird, d.h. Tag, Monat und Jahr bleibt leer. Dann bringt er mir immer einen Typkonflikt!
Ich habs schon mit CDate versucht, klappt aber nicht!
Also wie kann ich, wenn alle drei DropDown-Listen leer sind, diesen Wert in die DB schreiben
Danke schon mal für die Hilfe
greez, kloibi
-
Hallo
ein Leerfeld type Date kannst Du mit NULL erzwingen.
bsp.
Update tabelle set datum=NULL where id = 1liebe Grüße, die Luzie
-
Habe ich schon ausprobiert, aber er meldet trotzdem einen Fehler!
So sieht der Code im Moment aus:
Wenn die DropDowns ausgefüllt sind, trägt er es ohne Probleme ein...Code :1 2 3 4 5 6
Startdatum = Cdate(Request.Form("Studienbeginn")) If Startdatum = "" then InsertTable("Studienbeginn")=null else InsertTable("Studienbeginn")=Startdatum end if
Wo könnte da der Fehler liegen...
-
Hi
da bekommst Du eine cDate() Fehler.
Du übergibst schon bei der Variablenerstellung den Wert aus dem Formularfeld in die cdate() Funktion. Wenn der Wert jetzt leer ist, bringt er einen Fehler, denn cdate() kann nur ein valides Datum konvertieren, einen Leerstring nicht..
Da Du scheinbar den Datensatz via ADO einfügst, kannst Du Dir die Elseverzweigung sparen.
Code :1 2 3
if Request.Form("Studienbeginn") <> "" then InsertTable("Studienbeginn")= cDate(Startdatum) end if
Allerdings garantiert cDate() kein gültiges Datum.
Er macht aus einem 31.02.05 eine ziemlich eigene persönliche Kreation, solang die Jahreszahl 2stellig ist. Ist sie 4-stellig, gibts dort wieder einen Fehler.
Du sollstet das Datum zudem noch auf Gültigkeit überprüfen, sonst kann es Dir passieren, dass Du Daten aus dem vorigen Jahrhundert einspeicherst. Dies geht am einfachsten mit einem Regulären Ausdruck und der entspr. Validierungsabfrage.Geändert von Luzie (25.10.05 um 16:09 Uhr)
liebe Grüße, die Luzie
-
Das ist ja eben das Problem!
Wie kann ich einen Leerstring in die DB schreiben?
Feldformat Access ist Datum/Zeit!
Ich habe jetzt schon viel ausprobiert, mal mit cDate mal ohne, aber egal was ich mache, er bringt bei "keiner Auswahl eines Datums" immer nen Fehler...
Habs auch schon mit "null" und "isempty" versucht...
-
Wie ich oben bereits geschrieben habe,
Du musst keinen Leerstring in die DB schreiben, wenn Du einen Datensatz via ADO einfügst.
Du kannst das Feld abfragen (sh. mein Beispiel).
Ist ein Datum ausgefüllt, dann schreibe es rein, ansonsten lass den Part aus der Abfrage weg.
Ein Datumsfeld will ja nur einen Wert haben, wenn es im Update aufgeführt ist.
Bei einem Update-Statement kann man für einen Leerstring NULL eingeben (sh. 1. Posting)
Sorry, mehr kann ich auch nicht dazu sagen.
Ich kenne ja Deinen Gesamtscriptcode nicht und ich kenne Deine Fehlermeldung nicht. Alles weitere würde in die Richtung Hellsehen gehen.liebe Grüße, die Luzie
Ähnliche Themen
-
[VC++] Problem mit Datum
Von warcraft9105 im Forum .NET Windows FormsAntworten: 5Letzter Beitrag: 13.02.09, 11:48 -
Problem mit Datum
Von Buba235 im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 11.09.06, 11:22 -
Problem mit WHERE und Datum
Von deltoz im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 30.08.05, 21:20 -
Problem mit JS Uhr-Datum
Von Jin im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 18.03.05, 14:19 -
datum in tage umrechnen bzw. abfrage problem mit datum
Von Brauni im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 25.08.03, 20:57





Zitieren
Login





