jhaustein
Goto Top

Fehler in vba code

Hallo Gemeinschaft

erkennt ihr hier meinen Fehler - bekomme syntax Fehler

CurrentDb.Execute "Update Reservierungen Set Gutschrift_erstellt_am =" & Format(Now(), "dddd,dd.mm.yyyy") & " where [Gutschrift_erstellt_am] is null "  

Content-ID: 2133321889

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

Ausgedruckt am: 13.11.2024 um 12:11 Uhr

em-pie
em-pie 12.03.2022 um 14:03:59 Uhr
Goto Top
Ich rate mal, da du keine Fehlermeldung postest.

Dein Datumsformat ist falsch.
Ferner solltest du mal alle Anführungszeichen validieren/ richtig „escapen“….


Aktuell frage ich mich ernsthaft, ob du nicht effizienter fährst, wenn du deine Aufgabe an einen (freien) Entwickler abtrittst…
jhaustein
jhaustein 12.03.2022 um 14:26:16 Uhr
Goto Top
nee Syntaxfehler in updateanweisung
em-pie
Lösung em-pie 12.03.2022 um 14:41:56 Uhr
Goto Top
Nochmal:
Deine Anführungszeichen sind falsch platziert bzw. zu wenige. Du öffnest bzw schließt dein Statement um dein dddd,das.MM.YYYY
Da sitzt dein Problem

Ferner hoffe ich, dass das Feld, welches du Updaten möchtest, vom Typ Date respektive Datetime ist. Da wirst du keinen Wochentag reinschreiben können.
jhaustein
jhaustein 12.03.2022 um 14:56:24 Uhr
Goto Top
nun habe ich das einmal probiert

test = Format(Now, "DD.MM.YYYY")  
    CurrentDb.Execute "Update Reservierungen Set [Gutschrift_erstellt_am] = " & test & " where [Gutschrift_erstellt_am] is null "  

syntaxfehler in zahl '12.03.202'
1915348599
Lösung 1915348599 12.03.2022 aktualisiert um 15:34:30 Uhr
Goto Top
Und weiter geht's mit lesen, lesen, immer noch lesen, weiter lesen, lesen bis der Arzt kommt, lesen, tja immer noch lesen, wird langsam langweilig aber immer noch lesen ...
https://support.microsoft.com/en-us/office/where-clause-23b55905-7d27-45 ...
When you specify the criteria argument, date literals must be in U.S. format, even if you are not using the U.S. version of the Microsoft Access database engine. For example, May 10, 1996, is written 10/5/96 in the United Kingdom and 5/10/96 in the United States. Be sure to enclose your date literals with the number sign (#) as shown in the following examples.

To find records dated May 10, 1996 in a United Kingdom database, you must use the following SQL statement:

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;


Mittlerweile liegt der Kopf mit Kater in der Kiste und der Rest sitzt schon wieder vollkommen alleine an der Tastatur ...
LFE1952
Lösung LFE1952 12.03.2022 um 19:27:49 Uhr
Goto Top
Bei Microsoft Access wird üblicherweise die amerikanische Schreibweise #M/d/yyyy# verwendet, da diese automatisch in das lokale Datumsformat (Windows-Applet "Region") konvertiert.
Falls jedoch das von Windows verwendete Datumsformat bekannt ist kann, z.B. beim europäischen Datumsformat yyyy-MM-dd, das Datum in der Form #yyyy-MM-dd# verwendet werden.
jhaustein
jhaustein 13.03.2022 um 10:56:36 Uhr
Goto Top
danke