Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Update per VBA

Begonnen von hooKa, Mai 05, 2015, 11:23:40

⏪ vorheriges - nächstes ⏩

hooKa

Hallo Community,

ich habe eine kleine Update-Prozedur geschrieben, die mir den Laufzeitfehler 3075 rauswirft.
Es gibt einen Syntax-Fehler, nur komme ich nicht drauf, wo der ist. Mein Code sieht so aus:

sqlWeAdresse = "UPDATE tblWeAdresse " & _
                       "SET WeAdresse = '" & strWeAdresse & "' " & _
                       "WHERE '" & strSAPNr & "' = tblWeAdresse.SAPNr"
CurrentDb.Execute sqlWeAdresse, dbFailOnError

sqlWeAdresse ist ein String, tblWeAdresse die Tabelle, die geupdatet werden soll. WeAdresse ist eine Spalte der Tabelle tblWeAdresse, die Werte enthält, die geändert werden sollen, wenn der String strSAPNr mit dem gleichen Wert der Spalte SAPNr der Tabelle tblWeAdresse übereinstimmt. Die Werte für strSAPNr  und strWeAdresse kommen aus einem Textfeld.

Ich bin mir nur nicht ganz sicher, wo der Fehler im Code liegt. Könnt ihr mir vll weiterhelfen?

Viele Grüße,

hooKa

MzKlMu

Hallo,
bei der Adresse hast Du es richtig rum, bei der Nr nicht. Versuche es so:
sqlWeAdresse = "UPDATE tblWeAdresse " & _
                       "SET WeAdresse = '" & strWeAdresse & "' " & _
                       "WHERE SAPNr = '" & strSAPNr & "'"
Gruß Klaus

hooKa

Danke für deine schnelle Antwort MzKlMu! :)

Wenn ich deinen Code so umsetze, kommt bei mir immer noch der Fehler:



Es fehlt im scheinbar noch ein Operator, aber ich weiß nicht, welcher :(

DF6GL

Hallo,


möglicherweise spu(c)ken die Hochkommata in der Variablen "strWeAdresse" herum...



sqlWeAdresse = "UPDATE tblWeAdresse " & _
                       "SET WeAdresse = '" & Replace(strWeAdresse,"'","''")  & "' " & _
                       "WHERE SAPNr = '" & strSAPNr & "'"

MzKlMu

Hallo,
lasse Dir mit Debug.Print im Direktfenster den String ausgeben und posten den hier. Welchen Datentyp hat SAPNr in der Tabelle ?
Gruß Klaus

hooKa

@MzKlMu:
Der String sieht folgendermaßen aus:

UPDATE tblWeAdresse SET WeAdresse = 'BOSTON CHILDREN''S HOSPITAL' WHERE SAPNr = ''
UPDATE tblWeAdresse SET WeAdresse = 'BOSTO CHILDREN''S HOSPITAL' WHERE SAPNr = ''

Glaube, der Wert für die SAP-Nummer fehlt irgendwie noch. Der Typentyp ist Text.

@DF6GL:

Danke für deinen Code! :) Jedoch hat dieser noch keinen Effekt gehabt, außer dass der Fehler jetzt weg ist. Scheinbar fehlt der Wert für die SAP-Nummer.


DF6GL

Hallo,

offensichtlich gibt es da zwei Fehlerstellen.... 8)

hooKa

Nein, es passt jetzt :D Ich habe es nur nicht ganz gecheckt, weil ich zum einen den SAP-String nicht initialisiert und dann noch den Zugriff auf eine falsche Tabelle hatte.
Klappt jetzt wunderbar, vielen Dank euch beiden :) Ihr kriegt 'nen großen Keks :D