Eingabe in Tabelle über recordset

Also hier ein kleines (funktionierendes) Beispiel:

Visual Basic:
Private Sub Befehl4_Click()
  sql = "INSERT INTO Tabelle1 (feld1, feld2) VALUES ('" & txtFeld1.Value & "', '" & lstFeld2.Value & "')"
  DoCmd.RunSQL (sql)
End Sub

Hierzu gibt es eine Form die 1 Textfeld ("txtFeld1"), 1 Listenfeld ("lstFeld2") und einen Button ("Befehl4") enthält. Außerdem gibt es die Tabelle "Tabelle1" mit den Feldern "feld1" und "feld2". Beide Felder sind vom Typ Text.

Klicke ich nun auf dem Button, wird der Datensatz in die Tabelle eingefügt.
 
Danke
, jetzt blick ich's auf jedenfall mal mit dem eintragen von datensätzen, so kann ich das dann auch weiter verwenden bei update und select

Das mit "txtFeld1" kenn ich von Visual Basic aber "DoCmd.RunSQL (sql)" war wohl notwendig zum eintragen der Inhalt, das hab ich nicht gekannt.


Für was wird den dann eigentlich "Call CurrentDb.Execute(sql)" verwendet?
 
Ansonsten nach dem Zusammenstellen der Variabel sql diese mal ausgeben und begutachten
(Debug.Print). Dann hast du im Direktfenster den SQL-String der die DB ausführen will. Ich habe hier eine Anlitung für PHP und MySQL, diese funktioniert aber vom Konzept her gleich mit der Ausgabe über Debug.Print in der Access-DB mit VBA.
http://wiki.yaslaw.info/wikka/PhpDebugMySqlQueries

Visual Basic:
Private Sub Befehl4_Click()
  sql = "INSERT INTO Tabelle1 (feld1, feld2) VALUES ('" & txtFeld1.Value & "', '" & lstFeld2.Value & "')"
  Debug.Print sql
  DoCmd.RunSQL (sql)
End Sub

Call CurrentDb.Execute(sql) = DoCmd.RunSQL (sql)
Das eine geht über die DB-Instance, das andere über das DoCmd-Konstruckt. DoCmd enthält alles was du auch mit Makros machen kannst
 
Zurück