jhaustein
Goto Top

Probleme mit vba code

Hallo,

habe ein Problem mit einem SQL Dump

ida = "Abtretung"  
    sql = "UPDATE tbl_dokument SET versendet = " & datum & " WHERE idp =" & idpg & " and dokutyp = " & ida  
    
     DoCmd.RunSQL sql
    

wenn man den Dump ausführt, dann geht ein Fenster auf Parameterwert eingeben
Abtretung
dann hier das textfenster

das möchte ich ja nicht - will ja nur die beiden where clauseln verglichen haben

Content-ID: 1504174055

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

Ausgedruckt am: 21.11.2024 um 20:11 Uhr

13034433319
13034433319 16.05.2024 aktualisiert um 15:51:54 Uhr
Goto Top
Moin.
Da wir die Feldtypen hier nicht kennen und das hier nur so ohne weitere Info zur Tabelle reingekippt wurde mach ich jett mal das gleiche ...
ida = "Abtretung"    
sql1 = "UPDATE tbl_dokument SET versendet = " & datum & " WHERE idp = " & idpg & " AND dokutyp = """ & ida  & """;"  
DoCmd.RunSQL sql1
em-pie
em-pie 16.05.2024 um 15:53:48 Uhr
Goto Top
Moin,

@13034433319
Fast…
ida = "Abtretung"      
sql1 = "UPDATE tbl_dokument SET versendet = '" & datum & "' WHERE idp = '" & idpg & "' AND dokutyp = '" & ida  & "';"    
DoCmd.RunSQL sql1
Es muss ein Hochkomata und kein Anführungszeichen sein.

@jhaustein
Was macht ein wscript.echo sql1?
Hier sollte ja dein Query ersichtlich werden…
13034433319
13034433319 16.05.2024 aktualisiert um 15:57:26 Uhr
Goto Top
Zitat von @em-pie:
Es muss ein Hochkomata und kein Anführungszeichen sein.
Bei anderen SQL-Systemen gebe ich dir recht, bei Access gehen aber sowohl Anführungszeichen als auch Hochkomma für Strings in den SQL Queries!
jhaustein
jhaustein 16.05.2024 aktualisiert um 16:16:42 Uhr
Goto Top
bekomme Datentypenkonflikt in Kriterienausdruck

das ist die Ausgabe
"UPDATE tbl_dokument SET versendet = '#2024-05-16#' WHERE idp = '1267' AND dokutyp = 'Abtretung';"
13034433319
Lösung 13034433319 16.05.2024 aktualisiert um 16:20:32 Uhr
Goto Top
Dann lass die Anführungszeichen/Hochkommas um das Datum weg. S. Änderung oben.
Den Datentyp von der Spalte idp kennen wir nicht, den kennst nur du, wenn das eine Zahl ist dort auch die Hochkommas/Anführungszeichen entfernen...

ida = "Abtretung"      
sql1 = "UPDATE tbl_dokument SET versendet = " & datum & " WHERE idp = " & idpg & " AND dokutyp = """ & ida  & """;"    
DoCmd.RunSQL sql1
jhaustein
jhaustein 16.05.2024 um 16:20:14 Uhr
Goto Top
super - lieben dank - daran lags