Jag har ett problem att med att radera i en MSDE-databas via DSN. Testa istället:VBA vs MSDE
Jag har satt upp en ODBC-koppling som jag har kallat MSDE. Den fungerar utmärkt. jag har sedan via Access skapat en databas och kopplat den mot MSDE. Jag kan utan vidare redigera denna databas på alla sätt coh vis. Men när jag försöker att komma åt den via VBA och radera i den så klagar VB på att den är skrivskyddad men det är den inte.
Det går bra att läsa ifrån databasen men ej radera eller modifiera.
Det är när metoden rs!Addnew körs som felet uppstår.
Så här ser koden ut.
Private Sub UserForm_Initialize()
'Deklarera Variabler
Dim wk As Workspace
Dim DB As Database
Dim rs As Recordset
Set wk = CreateWorkspace("NewWorkSpace", "SA", "", dbUseODBC)
Set DB = wk.OpenDatabase("MSDE", dbDriverNoPrompt, & _ False, "ODBC;DATABASE=FrasseSQL;DSN=MSDE;")
Set rs = DB.OpenRecordset("SELECT * FROM tblPerson", dbOpenDynamic)
rs.AddNew
rs!Förnamn = "Hans"
rs!Efternamn = "Gustavsson"
rs!Ålder = 26
rs.Update
rs.Close
Set wk = Nothing
Set DB = Nothing
Set rs = Nothing
End SubSv: VBA vs MSDE
set con=server.createobject("adodb.connection")
con.open "dsn=msde;uid=sa;pwd="
con.execute "insert into tblPerson (förnamn, efternamn,ålder) values('Hans', 'Gustavsson', 26)"
Och se om det fungerar bättre.