Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: teutone am Dezember 09, 2010, 17:35:46

Titel: Insert Into - Anweisung geht / geht nicht
Beitrag von: teutone am Dezember 09, 2010, 17:35:46
Liebe Leute,
ich versuche eine Insert Into-Anweisung zu schreiben. Das kuriose dabei ist, dass der Code als Anfügeabfrage funktioniert, in einer ADO-Funktion aber grundsätzlich den Fehler >Syntaxfehler in der INSERT INTO-Anweisung ...< ausfwirft. Nimmt man das Feld >Memo< aus dem SqlString heraus funktioniert alles. Hat jemand eine Idee dazu?

Code wie folgt:

Public Function TestTest() As Boolean
On Error GoTo ErrorHandler

Dim strSql As String
Dim cmd As ADODB.Command

strSql = "INSERT INTO tblStundenAktsub (ID, Datum, Bearbeiter, AZ, Auftrag, RgKat, Memo) " & _
         "VALUES (4097, '09.12.10', 'kn', 'P04.018', 'A', 1, 'Kruscht')"

    Set cmd = New ADODB.Command
    With cmd
        .ActiveConnection = CurrentProject.Connection
        .CommandText = strSql
        .Execute
       TestTest = True
    End With

ExitCode:
    On Error Resume Next
    Set cmd = Nothing
    Exit Function
ErrorHandler:
    MsgBox "modTest:TestTest(...)]" & vbCrLf & Err.Description & vbCrLf & strSql, vbInformation, "Fehlernummer: " & CStr(Err.Number)
    Resume ExitCode
End Function
Titel: Re: Insert Into - Anweisung geht / geht nicht
Beitrag von: database am Dezember 10, 2010, 07:40:48
Hallo,

Du das Datum ins ISO oder US Format ändern, damit es per SQL in die Tabelle geschickt werden kann.

z.B.:


Dim strDat As String

strDat = Format(DeinDatum, "\#yyyy\-mm\-dd\#")


(Wobei das Datum natürlich auch aus einem Feld kommen darf)  ;D

Dann...


strSql = "INSERT INTO tblStundenAktsub (ID, Datum, Bearbeiter, AZ, Auftrag, RgKat, Memo) " & _
         "VALUES (4097," & strDat & ", 'kn', 'P04.018', 'A', 1, 'Kruscht')"
Titel: Re: Insert Into - Anweisung geht / geht nicht
Beitrag von: teutone am Dezember 12, 2010, 12:40:29
Hallo John Wayne,
vielen Dank für den Hinweis. Die eigentliche Problematik besteht in dem Feld, das ich mit >Memo< bezeichnet habe. Hier besteht offensichtlich ein Konflikt mit reservierten Worten. Wenn ich das Tabellenfeld umbenenne funktioniert es.
Dein Hinweis bezüglich des Datumsfeldes ist aber trotzdem wertvoll, da ich bislang nicht wusste, das man es so Problemlos konvertieren kann.
Gruß Markus
Titel: Re: Insert Into - Anweisung geht / geht nicht
Beitrag von: database am Dezember 12, 2010, 17:52:16
Hallo,

ZitatDein Hinweis bezüglich des Datumsfeldes ist aber trotzdem wertvoll...
http://www.donkarl.com?FAQ6.8  (http://www.donkarl.com?FAQ6.8)

Die Sache mit dem Feldnamen habe ich schlichtweg vernachlässigt - natürlich gilt in JEDEM Fall die Vermeidung von reservierten Worten, Leer- und Sonderzeichen in Feldnamen als eines der wichtigsten Gebote.

Grüße