1
A
回答
4
看来你的目标是改变联系TableDef
的,但我怀疑这是可能的。试图做到这一点触发错误#3268:
一旦对象是集合的一部分,不能设置此属性。
所以我认为你必须创建一个新的链接TableDef
从旧链接Connect
属性和新的值和Append
是到TableDefs
集合。
Const cstrOldName As String = "dbo_tblFoo2"
Dim db As DAO.Database
Dim tdfOld As DAO.TableDef
Dim tdfNew As DAO.TableDef
Set db = CurrentDb
Set tdfOld = db.TableDefs(cstrOldName)
tdfOld.Name = cstrOldName & "_old" ' rename the old link
Set tdfNew = db.CreateTableDef
With tdfNew
.Name = cstrOldName
.Connect = tdfOld.Connect
.SourceTableName = "dbo.Dual"
End With
db.TableDefs.Append tdfNew
...或只是通过删除旧ODBC链接表,在创建新的,然后重命名新的具有相同的名称作为旧做手工的UI。 –
可以通过没有DSN的用户界面来完成吗?我不知道如何。 – HansUp
类别。如果新建的ODBC链接表是使用* File DSN *创建的(就像在单击[Select]按钮时单击[“New ...”按钮](http://i.stack.imgur.com/FJm99.png)数据源对话框),那么'.Connect'属性使用文件名称作为'Description',并且包含其他连接字符串元素:ODBC; Description = zzzTestFileDsn; DRIVER = SQL Server; SERVER =(local)\ SQLEXPRESS; Trusted_Connection =是; APP = Microsoft Office 2010; DATABASE = myDb'。 –