Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: hooKa am Mai 05, 2015, 11:23:40

Titel: Update per VBA
Beitrag von: hooKa am Mai 05, 2015, 11:23:40
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
Titel: Re: Update per VBA
Beitrag von: MzKlMu am Mai 05, 2015, 11:34:33
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 & "'"
Titel: Re: Update per VBA
Beitrag von: hooKa am Mai 05, 2015, 11:39:01
Danke für deine schnelle Antwort MzKlMu! :)

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

(http://up.picr.de/21813055mu.png)

Es fehlt im scheinbar noch ein Operator, aber ich weiß nicht, welcher :(
Titel: Re: Update per VBA
Beitrag von: DF6GL am Mai 05, 2015, 11:49:45
Hallo,


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



sqlWeAdresse = "UPDATE tblWeAdresse " & _
                       "SET WeAdresse = '" & Replace(strWeAdresse,"'","''")  & "' " & _
                       "WHERE SAPNr = '" & strSAPNr & "'"
Titel: Re: Update per VBA
Beitrag von: MzKlMu am Mai 05, 2015, 11:50:52
Hallo,
lasse Dir mit Debug.Print im Direktfenster den String ausgeben und posten den hier. Welchen Datentyp hat SAPNr in der Tabelle ?
Titel: Re: Update per VBA
Beitrag von: hooKa am Mai 05, 2015, 12:04:25
@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.

Titel: Re: Update per VBA
Beitrag von: DF6GL am Mai 05, 2015, 12:08:20
Hallo,

offensichtlich gibt es da zwei Fehlerstellen.... 8)
Titel: Re: Update per VBA
Beitrag von: hooKa am Mai 05, 2015, 12:26:26
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