tanja: Update-Fehlermeldung

Hallo
Bekomme folgende Fehlermeldung:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in UPDATE-Anweisung.
Hier der Code der entsprechenden Passage:
IF aktuellprodukt <> "" THEN
sqlString = "UPDATE Produkte SET " &_
  "produkte_name='" & fixQuotes( produktename ) & "'," &_
  "produkte_preis=" & cCUR( produktepreis ) & "," &_
  "produkte_bild='" & fixQuotes( produktebild ) & "'," &_
  "produkte_art='" & fixQuotes( produkteart ) & "'," &_
  "produkte_kurzinfo='" & fixQuotes( produktekurzinfo ) & "'," &_
  "produkte_beschrieb='" &  fixQuotes( produktebeschrieb ) & "'," &_
  "produkte_merkmal=" & produktemerkmal & "," &_
  "produkte_status=" & produktestatus & " WHERE " &_
  "produkte_id=" & produkteid
Con.Execute sqlString
%>
Weiss jemand Rat?
Gruss tanja

  1. Hallo Tanja,

    lass dir das SQL-Statement mal mit Response.Write zurückgeben,
    dann siehst du, ob deine Variablen korrekte Werte besitzen.

    Bekomme folgende Fehlermeldung:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in UPDATE-Anweisung.
    Hier der Code der entsprechenden Passage:
    IF aktuellprodukt <> "" THEN
    sqlString = "UPDATE Produkte SET " &_
      "produkte_name='" & fixQuotes( produktename ) & "'," &_
      "produkte_preis=" & cCUR( produktepreis ) & "," &_
      "produkte_bild='" & fixQuotes( produktebild ) & "'," &_
      "produkte_art='" & fixQuotes( produkteart ) & "'," &_
      "produkte_kurzinfo='" & fixQuotes( produktekurzinfo ) & "'," &_
      "produkte_beschrieb='" &  fixQuotes( produktebeschrieb ) & "'," &_
      "produkte_merkmal=" & produktemerkmal & "," &_
      "produkte_status=" & produktestatus & " WHERE " &_
      "produkte_id=" & produkteid

    Response.Write(sqlString)

    Con.Execute sqlString
    %>

    Gruß
    Stefan

    1. Hallo Stefan
      Habe ich versucht, die Variablen werden alle korrekt gezogen!
      Hättest Du noch eine Idee woran es liegen könnte?
      Gruss Tanja

      Hallo Tanja,

      lass dir das SQL-Statement mal mit Response.Write zurückgeben,
      dann siehst du, ob deine Variablen korrekte Werte besitzen.

      Bekomme folgende Fehlermeldung:
      Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
      [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in UPDATE-Anweisung.
      Hier der Code der entsprechenden Passage:
      IF aktuellprodukt <> "" THEN
      sqlString = "UPDATE Produkte SET " &_
        "produkte_name='" & fixQuotes( produktename ) & "'," &_
        "produkte_preis=" & cCUR( produktepreis ) & "," &_
        "produkte_bild='" & fixQuotes( produktebild ) & "'," &_
        "produkte_art='" & fixQuotes( produkteart ) & "'," &_
        "produkte_kurzinfo='" & fixQuotes( produktekurzinfo ) & "'," &_
        "produkte_beschrieb='" &  fixQuotes( produktebeschrieb ) & "'," &_
        "produkte_merkmal=" & produktemerkmal & "," &_
        "produkte_status=" & produktestatus & " WHERE " &_
        "produkte_id=" & produkteid

      Response.Write(sqlString)

      Con.Execute sqlString
      %>

      Gruß
      Stefan

      1. Hall Tanja,

        Habe ich versucht, die Variablen werden alle korrekt gezogen!
        Hättest Du noch eine Idee woran es liegen könnte?
        Gruss Tanja

        Kannst du das Ergebnis des Response.Write(sqlString) posten?
        Vielleicht fällt mir ja dann etwas auf.

        Gruß Stefan

        1. Hallo Stefan
          Hier das Resultat des Response.Write (squlString)
          UPDATE Produkte SET produkte_name='Äpfel',produkte_preis=3,produkte_bild='prodbilder/bild.jpg',produkte_art='Frucht',produkte_kurzinfo='Äpfel ',produkte_beschrieb='Äpfel ',produkte_merkmal=,produkte_status=1 WHERE produkte_id=50
          Eigentich hat alles funktioniert bis ich den "produkte_merkmal ... WHERE" Ausdruck hinzugefügt hatte.
          Gruss Tanja

          Hall Tanja,

          Habe ich versucht, die Variablen werden alle korrekt gezogen!
          Hättest Du noch eine Idee woran es liegen könnte?
          Gruss Tanja

          Kannst du das Ergebnis des Response.Write(sqlString) posten?
          Vielleicht fällt mir ja dann etwas auf.

          Gruß Stefan

          1. Hallo Tanja,

            UPDATE Produkte SET produkte_name='Äpfel',produkte_preis=3,produkte_bild='prodbilder/bild.jpg',produkte_art='Frucht',produkte_kurzinfo='Äpfel ',produkte_beschrieb='Äpfel ',produkte_merkmal=,produkte_status=1 WHERE produkte_id=50

            "...produkte_merkmal=,..." das funktioniert nicht!

            Eigentich hat alles funktioniert bis ich den "produkte_merkmal ... WHERE" Ausdruck hinzugefügt hatte.

            Ja, genau an der Stelle liegt das Problem. Access erwartet eine Zahl, also musst du auch eine Zahl übergeben. Wenn dein Datensatz über kein produkt_merkmal verfügt, füge deiner produkt_merkmal-Referenz einen Eintrag hinzu, der 'keinen Eintrag' bedeutet, z.B. 0.

            Ich hoffe meine Formulierung ist verständlich.

            Gruß
            Stefan

          2. Das Problem ist gelöst. Danke für die Hilfe.

            Hallo Stefan
            Hier das Resultat des Response.Write (squlString)
            UPDATE Produkte SET produkte_name='Äpfel',produkte_preis=3,produkte_bild='prodbilder/bild.jpg',produkte_art='Frucht',produkte_kurzinfo='Äpfel ',produkte_beschrieb='Äpfel ',produkte_merkmal=,produkte_status=1 WHERE produkte_id=50
            Eigentich hat alles funktioniert bis ich den "produkte_merkmal ... WHERE" Ausdruck hinzugefügt hatte.
            Gruss Tanja

            Hall Tanja,

            Habe ich versucht, die Variablen werden alle korrekt gezogen!
            Hättest Du noch eine Idee woran es liegen könnte?
            Gruss Tanja

            Kannst du das Ergebnis des Response.Write(sqlString) posten?
            Vielleicht fällt mir ja dann etwas auf.

            Gruß Stefan