SQL*_*ice 4 sql-server ms-access vba ms-access-2010
在 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", 0, "MySchema.vwMyView", s)
CurrentDb.TableDefs.Append td
CurrentDb.TableDefs.Refresh
Run Code Online (Sandbox Code Playgroud)
这将创建一个链接表,该表链接到 SQL Server 中的视图。
但是,我无法 insert/update/delete,因为 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", 0, "MySchema.vwMyView", s)
CurrentDb.TableDefs.Append td
CurrentDb.Execute "CREATE UNIQUE INDEX SomeIndex ON vwMyView (PrimaryKeyColumn) WITH PRIMARY".
CurrentDb.TableDefs.Refresh
Set td = Nothing
Run Code Online (Sandbox Code Playgroud)
不确定在创建 INDEX 之前是否需要刷新 CurrentDB。首先尝试刷新,如果它不起作用 - 刷新它然后执行 CREATE 语句。
| 归档时间: |
|
| 查看次数: |
3023 次 |
| 最近记录: |