Office: (Office 2007) Syntaxfehler in Insert

Helfe beim Thema Syntaxfehler in Insert in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe eben in einem Formular in Access ein weiteres Textfeld hinzugefügt. Leider bekomme ich nun beim Insert die Fehlermeldung... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von manuel1987, 17. Mai 2010.

  1. Syntaxfehler in Insert


    Hallo zusammen,

    ich habe eben in einem Formular in Access ein weiteres Textfeld hinzugefügt.
    Leider bekomme ich nun beim Insert die Fehlermeldung Syntaxfehler (fehlender Operator) in Abfrageausdruck'19.05.2010 10:25:28','dp2mfo');'.

    Es wurde lediglich das Textfeld 433 neu aufgenommen (drittletzter Wert).
    Wenn ich mir den String in Debug-Fenster anschaue, sieht neuer am Ende so aus:
    19.05.2010 10:14:09','dp2mfo');

    alt:
    '19.05.2010 10:19:26','dp2mfo');

    Auffällig ist, das vor dem Datum das Hochkomma fehlt. Liegt der Fehler daran? Falls ja, kann mir jemand sagen, was an dem SQL am Ende falsch ist? Ich habe lediglich das neue Textfeld mitaufgenommen, aber kein Hochkomma geändert...

    Danke und Gruß

    Manuel

    Neu:
    Code:
    Alt:
    Code:
    :)
     
    manuel1987, 17. Mai 2010
    #1
  2. Lanz Rudolf, 18. Mai 2010
    #2
  3. Hallo,

    danke für die Antwort, aber die Datenfelder sind derzeit uninteressant, da hier alles funktioniert. Das einzigste Problem liegt beim neu eingesetzten Textfeld...

    Gruß
     
    manuel1987, 18. Mai 2010
    #3
  4. Syntaxfehler in Insert

    was mir als erstes auffällt ist, dass da ein einfaches Hochkomma vor Now() fehlt:
    Code:
     
    Großer Meister, 18. Mai 2010
    #4
  5. Bei mir würde es so aussehen:
    Code:
    Now() im SQL-String und ohne Hochkommata.
     
    ebs17, 18. Mai 2010
    #5
  6. \@manuel1987:
    zeig doch mal bitte den Rest der Abfrage.
    Dann sollte man klären, ob das Datum als Datum oder als Text eingefügt wird.
     
    Großer Meister, 18. Mai 2010
    #6
  7. Hier sind es keine Datenfelder (sofern man das sehen kann) sondern Funktionsnamen.

    Jedoch sind Funktionsnamen wie Datum (gibt es als deutsche Form von Date) und Zahl potentiell fehlerverursachend. Das Bezeichnungsregime der Controls ist auch alles andere als "sprechend".
     
    ebs17, 18. Mai 2010
    #7
  8. Syntaxfehler in Insert

    Hallo
    Ok habe das Falsch formuliert *frown.gif*
    Frage:
    was soll mit diesem Befehl erreicht werden ?
    Datum(Text269)

    etwa das ein Text wie
    01.01.2010 oder 1.jan.2010 oder 2010.05.12
    in ein Datum Konvertiert wird ?

    dann evtl so:
    datevalue(Text269)
    oder Deutsch in Abfrage
    DatWert(Text269)

    aber das geht auch nur wenn in Text269 ein gültiger Datumswert ist z.B. 31.06.2010 ist nicht gültig
    leer (NULL) ist nicht gültig !

    ungültige könnte man etwas mit so was abfangen (SQL):
    IIf(IsDate([Datu1]),DateValue([Datu1]),"01.01.1900") AS Daval
    oder in der Abfrage
    Daval: Wenn(IstDatum([Datu1]);DatWert([Datu1]);"01.01.1900")
     
    Lanz Rudolf, 19. Mai 2010
    #8
  9. Now() im SQL-String und ohne Hochkommata.

    Super, hat geklappt!
    Vielen Dank!
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    manuel1987, 19. Mai 2010
    #9
  10. OK, dann wurde das Datum in ein Feld des Typs Datum eingefügt, macht ja in den meisten Fällen auch mehr Sinn.
     
    Großer Meister, 19. Mai 2010
    #10
  11. Hallo zusammen,

    nachdem ich eben noch zwei weitere Felderhinzugefügt habe, erhalte ich wieder eine Fehlermeldung.
    Text436 und Text438 wurden neu hinzugefügt. Findet hier jemand den Fehler, liegt sicher an irgendeinem Hochkomma...

    Gibt es irgendwo eine Definition dieses Hochkommas setzen, für mich ist das irgendwie jedesmal raten...

    Danke und Gruß

    Manuel

    Code:
     
    manuel1987, 20. Mai 2010
    #11
  12. ... dann setze sie nicht manuell, sondern lass sie setzen. :-)

    Ein Beispiel:

    1. Schritt: SQL-Anweisung mit Beispieldaten zusammenstellen.

    Code:
    Mit diesem String kann man dann gleich auch testen, ob die SQL-Anweisung passen würde.

    2. Schritt: Beispieldaten durch "Platzhalter" ersetzen:
    2a) Zahlen: " & getSqlNumber(ZZZ) & " ... in die Zwischenablage kopieren und anschließend die Zahlenwerte doppelklicken (blauer Text im obigen Code) und mittels Strg+V mit dem Wert aus der Zwischenlage ersetzen
    Das ergibt dann:

    Code:
    2b) Analog für Texte und Datumswerte vorgehen. Dabei aber nicht übersehen, die Begrenzungszeichen ' bzw. # auch zu ersetzen.

    Ergebnis:
    Code:
    3. Schritt: die unbekannten Variablen ZZZ, TTT und DDD durch die passenden Werte bzw. Steuerelementbezüge & Co. austauschen.

    Das wäre es dann schon.

    Die Hilfsfunktionen getSqlText, getSqlDate und getSqlNumber müssen nur einmal erstellt werden.

    getSqlText könnte z. B. so aussehen:
    Code:
    Beispiel-Modul: modSQL_Tools


    BTW: eine weitere Variante wäre überhaupt auf das Zusammenstellen der SQL-Anweisung per VBA zu verzichten und stattdessen eine Parameter-Abfrage zu verwenden.
    (Das zeige ich an dieser Stelle aber nicht her, sonst wird es zu unübersichtlich. *Smilie)

    mfg
    Josef
     
    Josef P., 20. Mai 2010
    #12
  13. Syntaxfehler in Insert

    Code:
    Die Hochkommasetzung passt nicht. Wenn Du schon was einfügst dann doch bitte an den richtigen Stellen. ^^

    Code:
    So müsste es nach dem restliche Code der ja nach deiner Aussage funktioniert dann passen.

    Gruß

    Rainer
     
    raist10, 20. Mai 2010
    #13
  14. Eine einfache: Die sind notwendig für Strings (Text).

    In der Tabellendefinition (Entwurfsansicht der Tabelle) kann man erkennen, welche Datentypen definiert sind. Danach muss man sich dann richten, wenn man Werte per Anfügen zuweist oder aber auch in einem Filter Werte vergleicht.
     
    ebs17, 20. Mai 2010
    #14
  15. \@ Josef P.

    EDIT: Vergiss es ... war gerade gedanklich falsch unterwegs. *g*

    Gruß

    Rainer
     
    raist10, 20. Mai 2010
    #15
Thema:

Syntaxfehler in Insert

Die Seite wird geladen...
  1. Syntaxfehler in Insert - Similar Threads - Syntaxfehler Insert

  2. Ich sehe den Syntaxfehler nicht!

    in Microsoft Excel Hilfe
    Ich sehe den Syntaxfehler nicht!: Hallo zusammen! Ich sitz schon eine halbe Stunde davor und sehe einfach diesen Syntaxfehler nicht! Sieht ihn jemand von euch? Code: Range("B3").FormulaR1C1 = _...
  3. Syntaxfehler

    in Microsoft Excel Hilfe
    Syntaxfehler: Moin Moin zusammen, ich hab grad Tomaten auf den Augen. Der Akzeptiert die Syntax mit Verweis auf die "AdvancedFiltermethode des Range Objektes konnte nicht ausgeführt werden" Aber irgendwie tue...
  4. Syntaxfehler

    in Microsoft Access Hilfe
    Syntaxfehler: Hallo, auf meinen Befehl erhalte ich die Information "Syntaxfehler im Abfrageausdruck". Beide Felder sind Textfelder. Code: Dim strSQL As String strSQL = "SELECT * FROM abfr_Adressen_3 " strSQL =...
  5. Syntaxfehler in JOIN-Operation

    in Microsoft Access Hilfe
    Syntaxfehler in JOIN-Operation: Guten Tag, Ich habe mal wieder ein kleines Problem, bei dem Google mir leider nicht weiterhelfen konnte. Vorweg: ich habe nach der Vorlage CreaKombi gearbeitet, die ich im Anhang mit hochgeladen...
  6. Syntaxfehler in From-Klausel

    in Microsoft Access Hilfe
    Syntaxfehler in From-Klausel: Hallo Leute. Ich habe ein kleines Problem, das ich nicht selbst lösen kann. Ich habe eine Datenbank die unter anderem eine Kundentabelle enthält. Außerdem existiert eine übergeordnete Kunden-DB...
  7. Syntaxfehler in Datum in Abfrageausdruck

    in Microsoft Access Hilfe
    Syntaxfehler in Datum in Abfrageausdruck: Hallo, leider habe ich ein Problem mit einem Datumsfeld in einer Insert Into Anweisung unter Access. Das Feld in das eingefügt wird, ist ein Datumsfeld, und ich übernehme das aktuelle Datum per...
  8. Syntaxfehler/Fehler beim Kompilieren

    in Microsoft Excel Hilfe
    Syntaxfehler/Fehler beim Kompilieren: Hallo ich habe ein VBA geschrieben, der folgende bewirken soll: Wenn in F14, F16 und G14 ein Wert steht (unabhängig welcher Wert) soll sich G15 entsperren, wenn in G15 das Ergebnis von G14/F14...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden