Catweezle Geschrieben 22. Juni 2005 Geschrieben 22. Juni 2005 Hallo ich habe da gleich noch ein Problem: Ich lese mir per SQL einen Satz aus einer Datenbank aus, soweit kein Problem funtz wunderbar. Jetzt möchte ich aber in diesem String(Recordset) Werte ändern und wieder zurückschreiben. Beim setzen des Wertes bei rs!anrede = 1 bekomme ich folgende Meldung. Das Objekt oder der Provider kann den Befehl nicht ausführen Hier der COde Public globaluser As String Dim sSQL As String Dim oConn As ADODB.Connection 'Objekt für Connection Dim rs As Recordset Private Sub cmd_save_Click() Set rs = New Recordset sSQL = "Select * from useroptionen where userid = " & frm_start.globaluserid & "" rs.Open sSQL, oConn If Option1.Value = True Then rs!anrede = 1 End If If Option2.Value = True Then rs!anrede = 2 End If rs.Update rs.Close End Sub Was mach ich da falsch? Gibt es eine onlinereferenz die solche Aktionen Beschreiben? Ich finde immer nur reines SQL oder teile in VB. Gruß Catweezle Zitieren
Amstelchen Geschrieben 22. Juni 2005 Geschrieben 22. Juni 2005 der LockType der methode rs.Open ist standardmässig adLockReadOnly siehe auch in der MSDN und bei weiteren quellen. verwende stattdessen z.b. adLockOptimistic. beachtenswert ist auch, dass je nach datenzugriffstyp und -schnittstelle CursorType, LockType und Options so gesetzt werden sollte, dass das noch performant läuft. s'Amstel Zitieren
Warfox Geschrieben 22. Juni 2005 Geschrieben 22. Juni 2005 Wichtig ist noch (weil ich da 3 stunden dran war) dass du bei einer access datenbank den cursor auf den client setzt... Zitieren
Catweezle Geschrieben 22. Juni 2005 Autor Geschrieben 22. Juni 2005 Danke, funzt ja wunderbar. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.