gelöst MSACCESS 2010 VBA Update Tabelle.
CrashOver (Level 1) - Jetzt verbinden
08.04.2014, aktualisiert 09.04.2014, 3654 Aufrufe, 6 Kommentare
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.
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.
6 Antworten
- LÖSUNG colinardo schreibt am 09.04.2014 um 11:42:16 Uhr
- LÖSUNG CrashOver schreibt am 09.04.2014 um 20:46:39 Uhr
- LÖSUNG colinardo schreibt am 09.04.2014 um 21:09:32 Uhr
- LÖSUNG CrashOver schreibt am 09.04.2014 um 21:28:37 Uhr
- LÖSUNG colinardo schreibt am 09.04.2014 um 21:34:43 Uhr
- LÖSUNG CrashOver schreibt am 09.04.2014 um 21:43:13 Uhr
- LÖSUNG colinardo schreibt am 09.04.2014 um 21:34:43 Uhr
- LÖSUNG CrashOver schreibt am 09.04.2014 um 21:28:37 Uhr
- LÖSUNG colinardo schreibt am 09.04.2014 um 21:09:32 Uhr
- LÖSUNG CrashOver schreibt am 09.04.2014 um 20:46:39 Uhr
LÖSUNG 09.04.2014, aktualisiert um 21:43 Uhr
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:
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):
und übergibst es dann mit Rauten umschlossen so im SQL-String an:
Grüße Uwe
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 & "'"
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")
strSql = "UPDATE tb_FZ SET KU = #" & mydatestring & "#"
LÖSUNG 09.04.2014, aktualisiert um 20:47 Uhr
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
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
LÖSUNG 09.04.2014, aktualisiert um 21:14 Uhr
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 FehlerHallo 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".
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
LÖSUNG 09.04.2014 um 21:28 Uhr
Hallo Uwe,
Danke hat alles Super funktioniert, hatte einem kleinen Denkfehler bei der Umsetzung, bist der Beste
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.
Danke hat alles Super funktioniert, hatte einem kleinen Denkfehler bei der Umsetzung, bist der Beste
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.
LÖSUNG 09.04.2014, aktualisiert um 21:43 Uhr
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...feddichda 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.
Grüße Uwe
LÖSUNG 09.04.2014 um 21:43 Uhr
Kling gut werde mal ausprobieren.
Danke normal für alles.
Danke normal für alles.
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte