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

Printed on: December 14, 2024 at 16:12 o'clock

13034433319
13034433319 May 16, 2024 updated at 13:51:54 (UTC)
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 May 16, 2024 at 13:53:48 (UTC)
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 May 16, 2024 updated at 13:57:26 (UTC)
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 May 16, 2024 updated at 14:16:42 (UTC)
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
Solution 13034433319 May 16, 2024 updated at 14:20:32 (UTC)
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 May 16, 2024 at 14:20:14 (UTC)
Goto Top
super - lieben dank - daran lags