Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Karl_Koch_23 am April 12, 2012, 11:54:48

Titel: Datensatz speichern
Beitrag von: Karl_Koch_23 am April 12, 2012, 11:54:48
Hallo :)

Ich habe folgendes Problem:
Ich habe eine Buchdatenbank geschrieben, die buchinformationen per isbn aus dem Internet nimmt
(Autor, Verlag, Buchtitel, Preis,..)

Nun bekomme ich das Formular jedoch nicht gespeichert (also gespeichert schon, doch wenn ich ein neues Buch eingebe, wird das erste Buch wieder überspeichert),.
Es bleibt also immer bei der ersten ID stehen...

Mein "Code" sieht folgendermaßen aus:

Private Sub Befehl37_Click() 'Datensatz speichern
Me.AllowEdits = True
    DoCmd.RunCommand acCmdSaveRecord
'DoCmd.RunCommand acCmdClearAll
empty_boxes

    Me.AllowEdits = True

    MsgBox "Das Buch wurde gespeichert"

(ClearAll geht nicht xD, deshalb schrieb ich die Funktion "empty_boxes", die die Textboxen leert)

Vielen Dank im Voraus,
Liebe Grüße,
Karl
End Sub
Titel: Re: Datensatz speichern
Beitrag von: Hondo am April 12, 2012, 12:09:28
Hallo,
du brauchst überhaupt keinen Code wenn du das Formular gebunden machst. Das bedeutet in den Formulareigenschaften->Datenherkunft wählst du die Tabelle aus in welche die Daten gespeichert werden. Das gleiche auch bei Feldern.

Wenn du das ungebunden per Code machen möchtest, mach es bitte richtig und verwende keine RunCommand-Anweisungen:
Dim db As DAO.Database
set db = Currentdb
db.Execute "Insert into Tabelle (Feld1, Feld2, Feld3) Values ('" & Me.Textfeld1 & "', " & Me.Zahlenfeld2 & ", '" & Me.Datumsfeld3 & "'"
set db = Nothing

Beachte bei Textfeld und Datumsfeld die einfachen Hochkommatas.
Deine Tabelle sollte einen ID (autowert) besitzen der automatisch ausgefüllt wird.

Gruß Andreas