1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

MS Access "Syntax Error in Update Query" bei einem User

Discussion in 'Office-Programme' started by Drohnald, Dec 9, 2009.

Thread Status:
Not open for further replies.
  1. Drohnald

    Drohnald Kbyte

    Hallo Access-Spezialisten,

    ich habe eine mittelgroß Datenbank erstellt in der unter anderem einige SQL-Befehle via VBA (docmd.RunSQL) ausgeführt werden.
    z.B. diese hier

    Var_Eng_SQL = "UPDATE Parts SET Parts.VAR_EngEst = Parts.MAT_EngEst + " & VAR_Val & ", Parts.NPC_EngEst = Parts.MAT_EngEst + " & NPC_Val & " WHERE Parts!PartNumber = [Forms]![EngrData]![PartNumber];"

    Der Witz ist: Bei mir und vielen anderen Benutzern funktioniert das ohne Probleme, nur ein Benutzer bekommt immer bei Knopfdruck den Fehler "Syntax Error in Update Query".
    Es werden insgesamt 3 Update Querys ausgeführt, aber ich vermute diese verursacht den Fehler, da keine Daten geändert werden und dies die erste ausgeführte Query ist.
    Die Access Version ist genau wie bei mir (2003, es läuft aber auch unter 2000 Reibungslos) OS ist XP Prof SP3.

    Hat irgendjemand eine Idee an was es liegen könnte?
    Muss ja wohl ein Problem der lokalen Access-Einstellungen sein.

    Gruß und besten Dank,
    Drohnald
     
  2. Drohnald

    Drohnald Kbyte

    Inzwischen hat sich herausgestellt dass wohl die Regionalen Einstellungen Schuld an der Misere sind.

    Allerdings ist uns nicht ganz klar, warum genau bei deutschen Regionseinstellungen ein Syntax Error produziert wird, bei US-Einstellungen aber nicht.

    Ist dieses Problem bekannt?
     
  3. Urs2

    Urs2 Megabyte

    Hallo Drohnald,

    Bei allen Office-Programmen gibt es Probleme mit dem unterschiedlichen Dezimaltrenner >>> DE = Komma, US = Punkt

    - Englische Zahlen, online bezogen, werden in Excel zuerst nur als Text erkannt, und müssen umgewandelt werden
    - Argumenttrenner bei Formeln in den Excelzellen ist im US-Excel das "," und in DE der ";"
    ...usw...

    Gruss Urs
     
  4. Hascheff

    Hascheff Moderator

    Hallo Drohnald,
    Urs wird schon richtig liegen.
    Du kannst im VBA-Code einen Haltepunkt setzen (Klick auf linken Rand), den Code schrittweise ausführen und den Wert von Variablen dabei kontrollieren (MouseOver).

    Gruß
    Hascheff
     
  5. Urs2

    Urs2 Megabyte

    ...dazu ärgert auch noch der andere Tausender-Trenner, die Amerikaner verwenden den öfters als wir >>>

    DE = 1'234'567,89
    CH = 1'234'567.89
    US = 1,234,567.89

    So werden dann auch Zahlen ohne Nachkommastellen nicht mehr als solche erkannt...
     
  6. Drohnald

    Drohnald Kbyte

    Heureka ich habs gefunden!

    Für die deutschen Regionaleinstellungen braucht es zusätzliche Hochkommas für Variablen.
    Also quasi anstatt "UPDATE [...] " & Variable & " [...] ;"
    muss es
    "UPDATE [...] '" & Variable & "'[...];" sein.


    Vielleicht hilft es ja mal jemandem.
    Gruß,
    Drohnald
     
    Last edited: Jan 20, 2010
Thread Status:
Not open for further replies.

Share This Page