Cor*_*rey 5 office-2013 ms-access-2013
我们有一个相当大的Access前端应用程序,它已在Access 2010上运行.它广泛使用ADO记录集来访问SQL服务器上的数据,并经常使用UniqueTable表单属性.
我们希望明年初将整个办公室迁至Office 2013,但在测试过程中,我们发现Access 2013无法使用我们使用的代码UniqueTable.任何尝试设置UniqueTable结果的错误消息:
You entered an expression that has an invalid reference to the property UniqueTable
以下代码适用于Access 2010,但在尝试设置时遇到Access 2013上面的错误UniqueTable:
dim conn AS New ADODB.Connection
conn.ConnectionString = "DATA PROVIDER=SQLOLEDB;DATA SOURCE=server1;DATABASE=database1;Integrated Security=SSPI;"
conn.CursorLocation = adUseServer
conn.Provider = "MSDataShape"
conn.Open
Dim cmd As New ADODB.Command
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT TOP 10 * FROM Members WHERE MemberID IS NOT NULL"
cmd.Execute
Dim rs As New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenKeyset, adLockOptimistic
Set Recordset = rs
UniqueTable = "Members"
Run Code Online (Sandbox Code Playgroud)
在搜索解决方案的过程中,我发现只有其他一些情况,其中提到了这个错误,到目前为止还没有解决方案.
恐怕你在这件事上可能不走运。我能够重新创建您的问题:UniqueTable在 Access 2010 中成功设置表单属性的代码在 Access 2013 中失败,并出现相同的运行时错误消息。
Google 搜索会microsoft access uniquetable产生大量结果,其中绝大多数都涉及在ADP中使用该表单属性。ADP 支持已从 Access 2013 中完全删除,因此我猜测该UniqueTable支持也随之被删除。(Access 2013 VBA 编辑器中的 IntelliSense 功能仍然Me.UniqueTable作为 Form 对象的属性提供,但 Access 2013 显然不允许我们在运行时为其设置值。)