Datenbankzugriff mit Access

Massi87

Grünschnabel
Huhu ich wollte nun mal ein Programm mit einer Datenbankanbindung zu einer Beispieltabelle in Access schreiben.
Auf dem VB Form habe ich eine ComboBox und 2 TextBoxen. In der Combobox stehen die Werte des Primärschlüssels und in den 2 TextBoxen die dann dazugehörigen Attribute. Sobald ich halt einen Wert in der ComboBox auswähle sucht sich das Programm über eine SELECT-Anweisung die Werte aus der Tabelle.
Nun möchte ich aber auch neue Datensätze hinzufügen, vorhandene updaten oder löschen.
Ich habe schon die ganze Zeit mit den VisualBasic Büchern von Microsoft vom Bekannten gearbeitet aber jedes verdammte Beispiel wird immer mit dem DataGridView erklärt was mir aber nicht weiter hilft.

Nun die Frage: wie muss der Programmcode lauten um einen Datensatz über die jeweiligen Buttons hinzuzufügen, zu updaten oder löschen?

Ich weiss langsam echt net mehr weiter ;)

Danke schonmal im voraus ;-)
 
hier anhand eines bsp aus einem programm von mir

Neuen Datensatz einfügen...

SCHEMA:
"INSERT INTO Tabellen_Name (Feld1, Feld2, ...) VALUES (Wert1, Wert2, ...)"

Code:
dim cn As New Connection

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Jet OLEDB:Database Password='passwort';Mode=Share Deny None;" & _
          "Persist Security Info=False;Data Source =" & App.Path & "db.mdb"
cn.CursorLocation = adUseClient

cn.Execute "Insert into tbl_mitarbeiter (Name,Passwort, Rechte) VALUES (' " & Text1.Text & " ',' " & MD5o.MD5(Text2.Text) & " '," & Text3.Text & ")"

wenn dein Primärschlüssel in Access Autowert hat darfst du ihn im SQL nicht mit aufführen.
wichtig ist natürlich die Typen zu beachten, d.h. strings in ' setzen

Datensatz updaten...

SCHEMA:
UPDATE Tabelle SET Feld = wert WHERE bedingung = true


Code:
 dim rs As New ADODB.Recordset
 dim cn As New Connection
 cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  "Jet OLEDB:Database Password='passwort';Mode=Share Deny None;" & _
  "Persist Security Info=False;Data Source =" & App.Path & "\" & "db.mdb"
  cn.CursorLocation = adUseClient

rs.Open "Update tbl_vertraege set tbl_vertraege.proviausgang = 0 where tbl_vertraege.IDNr =" & aktuellervertrag, cn, adOpenDynamic, adLockOptimistic

Beim Update wäre bei dir die Bedingung dann zb "...WHERE IDNr=" & Combobox1.Text

Man kann SQL Statements auch vermeiden und alles mit ADO Funktionen machen. (zb rs.addnew usw.)
wenn das mit dem SQL nicht klappt sag bescheid dann such ich ne Variante mit ADO Funktionen raus
 
Zuletzt bearbeitet:
thx Woll0r das hat mir geholfen:) . ich war auch nochmal in der Bücherrei und hab mir nen Buch mit ADO.NET mal angeschaut. Das war dann noch etwas einfacher zu realisieren.
Nur aufgrund der Datenmengen die jetzt mit dem Programm verwaltet werden müssen und den vielen Benutzern, die drauf zugreifen sollen hab ich alles auf Microsoft SQL umgestellt.
Ich bastel dann mal weiter denn bald ist Abgabetermin
 
Zurück