crashover
Goto Top

ACCESS 2010 Datum über vba

Hallo an Alle,

ich habe da eine Frage, ich habe eine Access Datenbank einwickelt, und bin an einem Phänomen gekommen. Ich mache über VBA einen Update Kommando von den TextBoxen an die jeweilige Tabelle. Nun habe ich 2 Felder die als "Datum, Kurz" eingestellt sind.

Zum Problem:
- wenn ich sie Updaten will und beide Felder einen Datum besitzen dann wird er Erfolgreich durchgeführt;
- wenn die 2 Felder leer sind oder 1 von den beiden dann erhalte ich "Unzulässige Verwendung von Null".

Ich möchte das wenn ich diese beiden Datums Felder leer lasse oder 1 von den Beiden Felder das es trotzdem erfolgreich speichert.

Danke im voraus für eure Hilfe.

Content-ID: 235405

Url: https://administrator.de/forum/access-2010-datum-ueber-vba-235405.html

Ausgedruckt am: 23.12.2024 um 04:12 Uhr

colinardo
Lösung colinardo 12.04.2014, aktualisiert am 13.04.2014 um 18:37:30 Uhr
Goto Top
Naaaaa, auch schon wieder da face-wink
Dachte ich mir doch das diese Frage nach deinem letzten Post kommt ....
Dazu prüfst du die Datums-Felder ob sie überhaupt Inhalt haben und setzt dementsprechend den Inhalt einer Variablen entweder auf NULL oder eben das Datum.
Diese Variablen (varDatum1 / varDatum2 im Beispiel) verwendest du dann in deinem SQL-String.

Hier ein Beispiel: (im Beispiel sind txtDate1 und txtDate2 die Datumsfelder)
Dim varDatum1, varDatum2, strSQL

If Not IsNull(Me.txtDate1.Value) Then
    varDatum1 = "#" & Format(DateValue(Me.txtDate1.Value), "yyyy-mm-dd") & "#"  
Else
    varDatum1 = "NULL"  
End If

If Not IsNull(Me.txtDate2.Value) Then
    varDatum2 = "#" & Format(DateValue(Me.txtDate2.Value), "yyyy-mm-dd") & "#"  
Else
    varDatum2 = "NULL"  
End If

strSql = "Update DEINETABELLE set Vorname = 'Gustav', datum1 = " & varDatum1 & ", datum2 = " & varDatum2 & " WHERE ID = 1"  

DoCmd.SetWarnings False
DoCmd.RunSQL strSql
DoCmd.SetWarnings True

Grüße Uwe
CrashOver
CrashOver 13.04.2014 um 13:13:04 Uhr
Goto Top
Hallo Uwe, bin wieder da face-smile

habe den beispiel Code angewendet, habe den ID = Nummer angewendet und hat nichts geändert, immer noch das gleiche Problem.
Dann habe ich den ID Feld durch den Textbox wo er den wert holt und das tolle ist passiert das alle Daten gelöscht worden sind (nicht gelöscht sondern durch einen leeren wert ersetzt) das einzige was Überich geblieben ist ohne Änderung, sind die beiden Datums Felder.

Was ich vor habe und weiß nicht ob es möglich ist (nichts Gescheides im Internet gefunden) ist den Wert der beiden Datum Felder in die Tabelle zu speichern (als text) und es in der listbox anzuzeigen alles in der Tabelle die "Datum()<+30".

Danke nochmal für alles.
colinardo
colinardo 13.04.2014 um 13:16:12 Uhr
Goto Top
keine Ahnung was du da für einen Mist baust, sorry.
CrashOver
CrashOver 13.04.2014 um 18:39:40 Uhr
Goto Top
Danke nochmal für alles, ich weiß nicht ob ich es hingekriegt hätte ohne dich face-smile
Der Mist da ich mache ist kompliziert und jetzt ist es nun Fertig dank deiner Hilfe. TOP