Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 在Access中更改链接表中的表名_Ms Access_Vba_Ms Access 2010_Ms Access 2007 - Fatal编程技术网

Ms access 在Access中更改链接表中的表名

Ms access 在Access中更改链接表中的表名,ms-access,vba,ms-access-2010,ms-access-2007,Ms Access,Vba,Ms Access 2010,Ms Access 2007,我正在尝试更改Access中某个表的名称。我已经去了链接管理器,并经历了这个过程。它将更改为我放置的服务器,但它从不更改表名(以黄色突出显示) 您的目标似乎是更改链接的TableDef的SourceTableName,但我怀疑这是可能的。尝试这样做会触发错误#3268: 一旦对象是集合的一部分,就无法设置此属性 因此,我认为您必须使用旧链接的Connect属性和新的SourceTableName值创建一个新的链接TableDef,并将其添加到TableDefs集合中 Const cstrOldN

我正在尝试更改Access中某个表的名称。我已经去了链接管理器,并经历了这个过程。它将更改为我放置的服务器,但它从不更改表名(以黄色突出显示)


您的目标似乎是更改链接的
TableDef
SourceTableName
,但我怀疑这是可能的。尝试这样做会触发错误#3268:

一旦对象是集合的一部分,就无法设置此属性

因此,我认为您必须使用旧链接的
Connect
属性和新的
SourceTableName
值创建一个新的链接
TableDef
,并将其添加到
TableDefs
集合中

Const cstrOldName As String=“dbo\u tblFoo2”
Dim数据库作为DAO.Database
Dim tdfOld As DAO.TableDef
将tdfNew变暗为DAO.TableDef
Set db=CurrentDb
设置tdfOld=db.TableDefs(cstrOldName)
tdfOld.Name=cstrOldName&“旧”重命名旧链接
设置tdfNew=db.CreateTableDef
使用tdfNew
.Name=cstrOldName
.Connect=t折叠.Connect
.SourceTableName=“dbo.Dual”
以
db.TableDefs.Append tdfNew

。。。或者在UI中手动执行此操作,方法是删除旧的ODBC链接表,创建新表,然后重命名新表,使其具有与旧表相同的名称。是否可以在没有DSN的情况下通过UI执行此操作?我不知道怎么做,有点。如果新的ODBC链接表是使用文件DSN创建的(当您在“选择数据源”对话框中单击时会发生这种情况),则
.Connect
属性将文件名用作
Description
,并包括其他连接字符串元素:
ODBC;Description=zzzTestFileDsn;驱动程序=SQL Server;服务器=(本地)\SQLEXPRESS;可信连接=是;APP=微软Office 2010;DATABASE=myDb
。对我来说很有魅力。