Hallo zusammen,
ich habe ein kleines Problem beim Öffnen einer Access 2007 Datenbank aus meinem C# Programm heraus:
Vorab:
Ich habe eine Datenbank (Access 2007) in welcher ich ein VBA Macro geschrieben habe um auf das neue Anlagen-Feld in der accdb zugreifen zu können. Dieses Macro möchte ich von meinem C# Programm aus aufrufen.
Code:
C#-Quelltext
1: 2: 3:
| Access.Application myAccess = new Access.ApplicationClass(); myAccess.OpenCurrentDatabase("C:/DB/Databases/ST_DB/ST_DB.accdb", false, "";); RunMacro(myAccess, new Object[] { "TestAddRemoveAndSave", textBox1.Text |
Die Procedur heißt TestAddRemoveAndSave und der Name der Datei, die in das Anlagenfeld abgelegt werden soll wird mit textbox1 übergeben.Der VBA Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Dim dbs As DAO.Database Dim rst As DAO.Recordset Const strTable = "tbl_emails" Const strField = "Attachment" ' Attachment field in Table1 Set dbs = CurrentDb Set rst = dbs.OpenRecordset(strTable, dbOpenDynaset, 0, dbOptimistic) ' Add a new row and an attachment rst.AddNew AddAttachment rst, strField, strFileParam rst.Update rst.MoveLast rst.Close |
Wenn ich die Datenbank per Code aus C# heraus öffne, dann wird sie immer als read only geöffnet und somit kann ich in der Db keine Daten mehr bearbeiten.Kann man mit C# Access auch als nicht read only öffnen und wenn ja wie, oder hat jemand eine Idee, wie man das auch anders lösen kann?
Grüße
Moemmes