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-Key: 235405

Url: https://administrator.de/contentid/235405

Printed on: April 27, 2024 at 01:04 o'clock

Member: colinardo
Solution colinardo Apr 12, 2014, updated at Apr 13, 2014 at 16:37:30 (UTC)
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
Member: CrashOver
CrashOver Apr 13, 2014 at 11:13:04 (UTC)
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.
Member: colinardo
colinardo Apr 13, 2014 at 11:16:12 (UTC)
Goto Top
keine Ahnung was du da für einen Mist baust, sorry.
Member: CrashOver
CrashOver Apr 13, 2014 at 16:39:40 (UTC)
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