【发布时间】:2021-03-09 13:10:05
【问题描述】:
我使用 Access 作为 SQL Server 的前端,并尝试使用 ADO 记录集作为 Access Form 的源。 我可以在数据表视图中查看记录,我可以在该表单上添加和编辑记录。
现在,当我尝试将文本或数字过滤器应用于数据表视图中的 ADO 记录集绑定表单或尝试刷新表单时,我遇到了 2 个错误。
- 如果我在数据表视图中使用字段过滤器,则会收到错误消息:“输入有效值”
- 如果我尝试使用 F5 键刷新表单,则会收到错误消息:“无法初始化数据提供程序”
如果我使用链接到 SQL Server 的表并将这些表用作表单的记录源,则不会出现所描述的问题。
这是我用来设置表单记录集的代码:
Private Sub Form_Load()
Dim ConnString As String
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
ConnString= "Provider=sqloledb;Server=xxx; Database=yyyyy; user Id=zzzz; password=uuuu;"
Set cnn = New ADODB.Connection
cnn.ConnectionString = ConnString
cnn.Open
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "select Field1, Field2, Field3 from dbo.TableA", cnn, adOpenStatic, adLockPessimistic
Set Me.Recordset = rs
End sub
有趣的是,无论我使用什么 cursorType(在本例中为 adOpenStatic),我始终能够在表单中编辑和添加记录。
是否可以通过 ADO 记录集使用 Access 功能(过滤器、刷新)?
【问题讨论】:
标签: ado