PDA

Vollständige Version anzeigen : Insert Anweisung


IT-Fuzzi
10.05.2004, 00:13
Hallo,
ist es grundsätzlich möglich, dass ich mit einer INSERT INTO Anweisung Daten in eine Tabelle schreibe, die nicht aus einer Abfrage, oder Tabelle kommen, sondern aus Steuerelementen eines Formulares?

Ich hab ein Formular mit verschiedenen Steuerelementen, deren Werte per INSERT INTO Anweisung (Button Klick) in eine Tabelle eingefügt werden sollen.
Meine bisherigen Versuche scheiterten (kläglich) und ich wär echt dankbar für eine Hilfestellung.

Hier mein bisheriger Code(murks)

Dim strSQL As String
strSQL = "INSERT INTO Leergut_Konto ( Kunden_id, Barverkauf_id, Gebinde, Stück, Vertriebsart_id, Pfand ) " & _
"SELECT Kunden_id, Barverkauf_id, Gebinde, Stück, Vertriebsart_id, Pfand " & _
"FROM Leergut_Rücknahme_Barverkauf "
CurrentDb.Execute (strSQL), dbFailOnError



Rot sind meine Formularfelder, blau mein Formular

Tott666
10.05.2004, 00:49
Du mußt deinen String aber anders bauen z.B.

strsql = "Insert Into Test (SP01, SP02) " & _
" ' " & me.txtSP01 & " ' " as SP01, ' " & me.txtSP02 & " ' as SP02"


Bei einem SQL Befehl muß man immer werte eingeben, die jedes System kennt, deshalb zusammenbauen und gut ist.

IT-Fuzzi
10.05.2004, 00:56
Hi,
Danke erstmal für dieAntwort.

Ist es dabei egal ob in den Feldern TEXT oder Zahlen stehen?

Nouba
10.05.2004, 05:42
Zwischen Text-, Ganzzahlen-, Gleitkommazahlen und Datumswerte gilt es zu unterscheiden. Ich habe mal geraten.
Dim strSQL As String

strSQL = strSQL & "INSERT INTO Leergut_Konto
strSQL = strSQL & "("
strSQL = strSQL & " Kunden_id "
strSQL = strSQL & ", Barverkauf_id "
strSQL = strSQL & ", Gebinde "
strSQL = strSQL & ", Stück "
strSQL = strSQL & ", Vertriebsart_id "
strSQL = strSQL & ", Pfand "
strSQL = strSQL & ") "
strSQL = strSQL & "SELECT "
strSQL = strSQL & " " & Me!Kunden_id & " "
strSQL = strSQL & ", " & Me!Barverkauf_id & " "
strSQL = strSQL & ", '" & Me!Gebinde & "' " '// falls es sich um ein Textfeld handelt
strSQL = strSQL & ", " & Me!Stück & " "
strSQL = strSQL & ", " & Me!Vertriebsart_id & " "
strSQL = strSQL & ", " & Str(Me!Pfand)

CurrentDb.Execute strSQL, dbFailOnError
Statt der SELECT-Anweisung kannst Du auch VALUES( WertX, WertY, ...) verwenden.