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-Key: 2133321889

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

Printed on: May 10, 2024 at 21:05 o'clock

Member: em-pie
em-pie Mar 12, 2022 at 13:03:59 (UTC)
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…
Member: jhaustein
jhaustein Mar 12, 2022 at 13:26:16 (UTC)
Goto Top
nee Syntaxfehler in updateanweisung
Member: em-pie
Solution em-pie Mar 12, 2022 at 13:41:56 (UTC)
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.
Member: jhaustein
jhaustein Mar 12, 2022 at 13:56:24 (UTC)
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'
Mitglied: 1915348599
Solution 1915348599 Mar 12, 2022 updated at 14:34:30 (UTC)
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 ...
Member: LFE1952
Solution LFE1952 Mar 12, 2022 at 18:27:49 (UTC)
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.
Member: jhaustein
jhaustein Mar 13, 2022 at 09:56:36 (UTC)
Goto Top
danke