我在Access中创建了一个搜索框,一旦找到结果,就会将Access窗体的记录集设置为ADO记录集。
代码是
rs.Open "select * from main where Name= '" & Me.txtSearch.Value & "';", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
Set Me.Recordset = rs
这让我可以比默认的Access ctrl+f
方法更快地找到记录,这对链接表来说比较慢。
但是,看起来我无法删除使用我创建的搜索字段找到的记录。
如果我尝试删除它,我得到:
使用此表单访问权限无法删除记录
在表格的底部。
有没有办法将可删除的ADO记录绑定到Access表单?
ADO绑定表单不可编辑的原因不是因为游标类型或锁定类型,而是因为游标位置。添加
rs.CursorLocation = adUseClient
为我做了这份工作。
同样在this讨论线程Dirk Goldgar写道:
一个可能的考虑因素是,如果您将Access表单绑定到ADO记录集,我发现使用服务器端游标使表单只读。
到目前为止,我还没有找到任何解释为什么会这样的情况。如果有人知道绑定到Access表单的服务器端游标使其无法编辑,请回复。
编辑1:
还要确保您使用的是currentproject.connection而不是ADO连接字符串