Hallo zusammen.
ich habe hier eine Erfassungsmaske, deren Eingaben in eine AccessDatenbank geschrieben werden sollen. Die Besonderheit ist, dass der InsertString aus einer Parameterdatenbank gelesen werden soll.
ParameterDB:
ID (PK)
Tabelle Text
Felder Text
Werte Text
Die Daten werden über ein Sub eingelesen:
.......schnipp ....
SQLQuery = "SELECT Tabelle,Felder,Werte from SQLStrings where SQLID = " & ID
Set RsProdukte = mdbCon2.Execute(SQLQuery)
SQLInsTabelle = RsProdukte("Tabelle")
SQLInsFelder = RsProdukte("Felder")
SQLInsWerte = RsProdukte("Werte")
.......schnipp ..... Soweit OK
Der (funktionierende) String für den InsertBefehl in einem anderen Sub sieht so aus:
SQLScript = "INSERT INTO " & SQLInsTabelle & " ( " & SQLInsFelder & _
" ) VALUES ( " & CStr(U_PersNr) & "," & StrDatum( _
U_AbschlDatum) & _
",'" & U_KdNr & "'," & CStr(U_Stueck) & "," & CStr(U_Kust) _
& _
"," & CStr(U_Faktor) & "," & CStr(U_Punkte) & ")" Das ist getestet und OK. Wenn ich aber alles, was hinter Values steht durch SQLInsWerte ersetze, geht gar nichts mehr. Ich habe schon stundenlang probiert. Es geht nicht um Datumsformat und Dezimalzeichen, das ist alles abgefangen. Es geht nur um die Füllung der Variablen, Das Problem liegt m.E. bei " - "" - """.
Zum besseren Verständnis: in der ParameterTabelle soll im Feld Werte und später dann in SQLInsWerte etwas wie :& CStr(U_PersNr) & "," & StrDatum(U_AbschlDatum) & ",'" & U_KdNr & "'," & CStr( _
U_Stueck) & "," & CStr(U_Kust) & "," & CStr(U_Faktor) & "," & CStr(U_Punkte) _
& stehen. Und der Insertstring dann SQLScript = "INSERT INTO " & SQLInsTabelle & " ( " & SQLInsFelder & _
" ) VALUES ( " & SQLInsWerte & ")" Man könnte sich auch erstmal langsam rantasten und "nur" Personalnummer und Kundennummer ( Text in ' ' ) übergeben, ab da werde ich wohl zurechtkommen.
Kann jemand helfen?
Danke
Viele Grüße Methu |