Hi John!
I'm sorry, but I use ADO myself and just tested whether I could update a View using ADO. The server/driver correctly returns the \"Update permission denied on object ...\" message that I also get when using MSSQL Server builtin security.
Just out of curiosity: Do you use client side cursors or server side ones?
I had very peculiar errors when using client side cursors and I'm now not using them anymore for updating tables. Besides, you get better error messages when using server side cursors. For searching data in the result set, they are more flexible...
I also tested the whole case using first a server side cursor, and then a client side cursor, and that confirmed my theory that the cursor side cursor is the problem:
Public Sub test()
Dim cnn As ADODB.Connection
Dim TCtableRst As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.ConnectionString = \"driver={SQL Server};\" & \"server=OEBFASRV02;Trusted_Connection=Yes;database=InfoDB\"
cnn.ConnectionTimeout = 15
' this prevents the update on a view!!
'cnn.CursorLocation = adUseServer
' this allows the update on a view!!
cnn.CursorLocation = adUseClient
cnn.Open
Set TCUtableRst = New ADODB.Recordset
TCUtableRst.Open \"FrontPlan2\", cnn, adOpenDynamic, adLockPessimistic, adCmdTable
TCUtableRst.MoveFirst
On Error Resume Next
TCUtableRst.fields(\"Bezeichnung\"«»).Value = \"Testvalue\"
TCUtableRst.Update
If Err 0 Then MsgBox Err.Description
TCUtableRst.Close
cnn.Close
End Sub
FrontPlan2 is a simple table having a varchar(100) field \"Bezeichnung\" that I update in the above example.
Is there a chance that you
1) offer the choice to select server side cursors for Database Browser connections, or
2) offer a \"readonly\" choice to disallow changes like MSQuery (which prevents editing already in the grid control)?
This is really a rather dangerous behaviour in this otherwise extremely useful product....
-regards,
ROland