加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 如何在与CreateTableDef链接时设置主键

发布时间:2020-12-12 06:22:26 所属栏目:MsSql教程 来源:网络整理
导读:在MS Access数据库中,我正在连接到SQL Server数据库中的视图,如下所示: Dim s As Strings = "ODBC;DSN=mydb;Trusted_Connection=Yes;DATABASE=mydb;"Dim td As TableDefSet td = CurrentDb.CreateTableDef("vwMyView","MySchema.vwMyView",s)CurrentDb.Table
在MS Access数据库中,我正在连接到SQL Server数据库中的视图,如下所示:
Dim s  As String
s = "ODBC;DSN=mydb;Trusted_Connection=Yes;DATABASE=mydb;"

Dim td As TableDef
Set td = CurrentDb.CreateTableDef("vwMyView","MySchema.vwMyView",s)

CurrentDb.TableDefs.Append td
CurrentDb.TableDefs.Refresh

这将创建一个链接表,该表链接到SQL Server中的视图.

但是,我无法插入/更新/删除,因为Access不知道“主键”.如何在VBA中添加有关主键的信息?

使用“链接表向导”时,始终要求您从列表框中选择唯一键列.我想在VBA中重现此行为.

解决方法

您始终可以更新刚刚附加的表,以包含索引/主键.就像是,
Dim s  As String
s = "ODBC;DSN=mydb;Trusted_Connection=Yes;DATABASE=mydb;"

Dim td As TableDef
Set td = CurrentDb.CreateTableDef("vwMyView",s)

CurrentDb.TableDefs.Append td

CurrentDb.Execute "CREATE UNIQUE INDEX SomeIndex ON vwMyView (PrimaryKeyColumn) WITH PRIMARY".

CurrentDb.TableDefs.Refresh

Set td = Nothing

在创建INDEX之前,不确定是否需要刷新CurrentDB.首先尝试刷新,如果不起作用 – 刷新它然后执行CREATE语句.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读