crashover
Goto Top

MSACCESS 2010 VBA Update Tabelle.

Hallo an Alle,

ich habe hier eine Aufgabe das ich nicht dahinterkomme.
Also ich will einen tb update machen und kriege den Fehler "Datentypenkonflikt in Kriterienausdruck", diese Fehlermeldung deutet darauf das die Eingabe auf beiden seiten nicht identisch sind (frm= TextBox und in der tb ist Datum/Uhrzeit) im frm habe eine TextBox mit der Eingabeformat "Datum, Kurz". Die tb ist der Felddatentyp auf "Datum/Uhrzeit" und als Format auch "Datum, Kurz". Wenn ich den Felddatentyp von "Datum/Uhrzeit" auf "Text" umstelle dann funktioniert es ohne Probleme das Update, aber ich brauche die Eingabe als "Datum/Uhrzeit".

Jetzt kommt das Problem der Umwandlung von text in den richtigen Datums wert für die Tabelle.

Habe schon alles mögliche durchgelesen, Know-Hows von MS, Forums in DE und ENG und nicht hat bisher gebracht.


Hier der Code:

strSql = "UPDATE tb_FZ SET KU = " & """" & Me.txtkufa & """" & ", Ma = " & """" & Me.txtmarkfa & """" & ", Mo = " & """" & Me.txtmodfa & """" & ", AKzn = " & """" & Me.txtkzfa & """" & ", FsTypBl = " & """" & Me.txtfstypblfa & """" & ", Gtyp = " & """" & Me.txtgtypfa & """" & ", V = " & """" & Me.txtvfa & """" & ", Km = " & """" & Me.txtkmfa & """" & ", Bem = " & """" & Me.txtbemfa & """" & ", Fal = " & """" & Me.txtfalbfa & """" & ", UVV = " & """" & Me.txtuvvfa & """" & ", Intnr = " & """" & Me.txtintfa & """" & " WHERE FaID =" & Me.txtnrfaid


Danke im voraus für eure Hilfe.

Content-ID: 234904

Url: https://administrator.de/forum/msaccess-2010-vba-update-tabelle-234904.html

Ausgedruckt am: 23.12.2024 um 04:12 Uhr

colinardo
Lösung colinardo 09.04.2014 aktualisiert um 21:43:22 Uhr
Goto Top
Hallo Crashover,
also hier geht es einwandfrei wenn die Spalte in der Tabelle auf Datum/Uhrzeit steht und die Textbox auf Format = Datum,kurz eingestellt ist. Ich würde hier mal für die Daten einfache Hochkommas verwenden um die Werte einzuschließen.
Beispiel:
strSql = "UPDATE tb_FZ SET KU = '" & Me.txtkufa & "'"

Ansonsten hast du noch folgende Möglichkeit für ein Datum:
Du wandelst das als Text vorliegende Datum der Textbox in das von Access verwendete universelle Format (yyyy-mm-dd) um (txtDate wäre im Beispiel die Textbox):
mydatestring = Format(DateValue(me.txtDate.Text), "yyyy-mm-dd")
und übergibst es dann mit Rauten umschlossen so im SQL-String an:
strSql = "UPDATE tb_FZ SET KU = #" & mydatestring & "#"
Grüße Uwe
CrashOver
CrashOver 09.04.2014 aktualisiert um 20:47:55 Uhr
Goto Top
Hallo Uwe,

habe das gemacht was du gesagt hast und erhalte "Typen unverträglisch" nur bei dem Datum TextBoxen den die TextBox wo die Texten drin stehen mach er einen Erfolgreichen Update in die Tabelle (wenn ich die beiden Datum TextBoxen aus dem Update Befehl entferne), Sobald die TextBoxen in den Update Befehl drin sind dann habe wieder "Typen unverträglisch".

Wie gesagt, die beiden TextBoxen haben den Format = "Datum, kurz" und in der Tabelle steht der Felddatentyp auf "Datum/Uhrzeit" und in den Feldeigenschaften der Tabelle habe auch als Format = "Datum, kurz".

Gibt es eine Möglichkeit es umzugehen? Weil das Problem liegt ja an der Umwandlung vom Text auf das Datum um den "Update" erfolgreich in Tabelle zu füttern.

Beim "INSERT" verwende ich keine Umwandlung vom Text auf Datum und es funktioniert.

Danke für deine Hilfe
colinardo
colinardo 09.04.2014 aktualisiert um 21:14:15 Uhr
Goto Top
Zitat von @CrashOver:

Hallo Uwe,
Wie gesagt, die beiden TextBoxen haben den Format = "Datum, kurz" und in der Tabelle steht der Felddatentyp auf
"Datum/Uhrzeit" und in den Feldeigenschaften der Tabelle habe auch als Format = "Datum, kurz".
Wie auch schon gesagt geht es hier mit einem SQL-Update Befehl einwandfrei, ich konnte deinen Fehler in keinster Weise triggern ! Der Fehler
muss hier in deiner Datenbank oder deinem VBA-Code liegen. Ohne weitere Details deines Codes kommen wir hier nicht weiter ... Vermutlich hast du irgendwo noch ein Leerzeichen oder ähnliches zu viel in deiner Textbox oder deinem VBA-Code
Gibt es eine Möglichkeit es umzugehen?
habe ich oben bereits genannt !

Grüße Uwe
CrashOver
CrashOver 09.04.2014 um 21:28:37 Uhr
Goto Top
Hallo Uwe,

Danke hat alles Super funktioniert, hatte einem kleinen Denkfehler bei der Umsetzung, bist der Beste face-smile
habe da noch eine Frage, gibt es die Möglichkeit einen von den beiden Datum TextBox leer zu lassen ("NULL") ohne das er sagt "Typen unverträglich"?, denn er will jetzt auf beiden einem Datums wert haben.
colinardo
Lösung colinardo 09.04.2014 aktualisiert um 21:43:41 Uhr
Goto Top
Zitat von @CrashOver:

da noch eine Frage, gibt es die Möglichkeit einen von den beiden Datum TextBox leer zu lassen ("NULL") ohne
das er sagt "Typen unverträglich"?, denn er will jetzt auf beiden einem Datums wert haben.
Checke in deinem VBA-Code ob die Felder leer sind und passe deinen SQL-Befehl je nachdem ob etwas in den Textboxen steht oder nicht an. D.h. wenn sie leer sind, baust du sie erst garnicht in den Befehl ein...feddich

Grüße Uwe
CrashOver
CrashOver 09.04.2014 um 21:43:13 Uhr
Goto Top
Kling gut werde mal ausprobieren.

Danke normal für alles.