Daten in einer Access Datebank aus Excel heraus up
12.09.2007 17:05:00
Holg
ich versuche mittels VBA Datensätze aus einer Access Datenbank heraus zu lesen, in Excel VBA zu bearbeiten und anschließend wieder in die Datenbank zurück zu schreiben.
Das Neuanlegen von Datensätzen mit '.AddNew' funktioniert sehr gut, nur wie ich einen vorhanden Datensatz überschreiben kann, habe ich noch nicht raus gefunden.
In einer Form kann der User entweder neue Datensätze anlegen, oder vorhandene editieren. Das Script dazu ist wie folgt:
'Dateiname der Datenbank
Public Const Dateiname = "D:\Documents and Settings\u820144\My Documents\aa Holgers Data\Development\DST Database\DST DataBase.mdb"
'Tabellenname in der Datenbank
Public Const Tabellenname = "Data"
Dim Datenbank As Database
Dim Datensatz As Recordset
Dim Tabelle As TableDef
Private Sub cbSave_Click()
Set Datenbank = OpenDatabase(Dateiname)
Set Datensatz = Datenbank.OpenRecordset(Tabellenname)
With Datensatz
If StatusFlag = "NEW" Then
.AddNew
Else
.Edit
End If
.Fields("Case #").Value = frmDataEntry.lblStatus.Caption
.Fields("Executive").Value = frmDataEntry.tbExecutive
.Fields("Request received").Value = frmDataEntry.tbReceivedOn
.Fields("Last update").Value = Now
.Fields("Received from").Value = frmDataEntry.tbReceivedFrom
.Fields("Department raised").Value = frmDataEntry.cboxDepartment
'Datensatz updaten
.Update
.Bookmark = .LastModified
End With
Datenbank.Close
End Sub
Das Problem ist - wie gesagt - einen vorher in die Form geladenen Datensatz geändert zurück zu schreiben.
Ich arbeite übrigens mit DAO und die Tabelle ist indiziert (der Index darf nur einmal vorkommen).
Könnt Ihr mir helfen?
Vielen Dank!
Holg