Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Kein Betreff angegeben

logo3 / 5 Antworten / Flachansicht Nickles

Hallo

Wenn ich diese SQL laufen lassen möchte bekommen ich einen error " 3219 ungültige operation".
ich verstehe nicht warum. So wie ihr unten sehen könnt, will ich eine tabelle angelegen wobei die daten aus de tabelle struc kommen und zusätzliche 3 weitere felder. diesen sind nicht in eine tabelle hinterlegt, deshalb im acess2003 frägt ihr nach den wert dieser felder.
In der SLQ anweisung diese 3 spezielle felder haben sind zu einer variable zugeordnet, ( [datum] AS Expr2, [betreff] AS Expr3, [Text] AS Expr1)
Wenn ich aber zu die variablen Expr1,Expr2 und Expr3 einen Wert zuordne müsste jedoch nicht mehr danach fragen.
Ich mache schon lange rum aber ich kommen nicht auf den problem.
kann mir bitte jemand sagen was ich falsch mache? und mir eventuell die korektur vornimmt.


das prog.
---------------------------------------------------------------------
Dim objDB As DAO.Database
Dim objRS As DAO.Recordset
Dim strSQL As String


strSQL = "INSERT INTO Lieferscheine ( [sales unit], GB, [VKL person], [GB person], [mitarbeiter], name, Lieferdatum, Betreff, Text )" & _
"SELECT struc.[sales unit], struc.GB, struc.[VKL person], struc.[GB person], struc.[mitarbeiter], struc.name, [datum] AS Expr2, [betreff] AS Expr3, [Text] AS Expr1 " & _
"FROM struc WHERE (((struc.GB)='25-000'));"


gei_text="hallo"
gei_datum="09/05/2007"
gei_betreff="probe"

Expr1 = gei_text
Expr2 = gei_datum
Expr3 = gei_betreff


Set objDB = CurrentDb
Set objRS = objDB.OpenRecordset(strSQL, , DAO.dbSQLPassThrough)


Call objRS.Close
Set objRS = Nothing

Set objDB = Nothing
---------------------------------------------------------------------

ich danke euch für eure Hilfe
logo3

bei Antwort benachrichtigen
T-Rex logo3 „hallo erstmal vielen dank für deine Hilfe, ich bin in SQL nicht sehr fit. ich...“
Optionen

Mit der "INSERT INTO ... SELECT FROM"-Anweisung bin ich nicht so vertraut, ob diese Syntax so richtig ist, mußt Du in der Hilfe nachschauen.
Bei den Abfragen in der SQL-Anweisung kann ich Dir aber auf jeden Fall helfen.

Dim gei_datum As Date
Dim gei_betreff As String
Dim gei_text As String
Dim strSQL As String

gei_datum = Now
gei_betreff = "hallo"
gei_text = "das ist ein bsp."

strSQL = "INSERT INTO Lieferscheine ([sales unit], GB, [VKL person], [GB person], [mitarbeiter], [name], Lieferdatum, Betreff, [Text]) " & _
"SELECT struc.[sales unit], struc.GB, struc.[VKL person], struc.[GB person], struc.[mitarbeiter], struc.[name], " & _
Format$(CDate(gei_datum), "\#mm\/dd\/yyyy#") & " AS datum, " & _
"'" & Replace$(gei_betreff, Chr$(39), Chr$(39) & Chr$(39)) & "' AS betreff, " & _
"'" & Replace$(gei_text, Chr$(39), Chr$(39) & Chr$(39)) & "' AS [Text] " & _
"FROM struc WHERE (struc.GB = '25-000');"

Debug.Print strSQL


Im Debug-Fenster (zu erreichen über STRG+G) kannst Du nun die fertge SQL-Anweisung sehen, wie sie später an die Datenbank übergeben wird.
 GrüßeT-Rex 
bei Antwort benachrichtigen