小编典典

导入Microsoft Access数据库时保留自动编号列的值

sql

我想做的是以编程方式从Microsoft SQL Server导入几个表到Microsoft Access。

每个SQL Server表都有一个Identity列,相应的Access表也有一个autonumber列。

现在,我想生成SQL脚本以将数据从SQL Server复制到Access,并使自动编号列的值与SQL Server中的值相同。

这可能吗?

从Access到SQL Server的另一种方式进行操作时,使用SETIDENTITY_INSERT [MyTable] ON及更高版本相当容易SET IDENTITY_INSERT [MyTable] OFF

我发现没有Microsoft Access这样的声明。

另外,我尝试创建要首先以身份字段作为类型导入的Access表,LONG然后再使用该ALTER TABLE ... ALTER COLUMN语句切换到自动编号。我没有这样做。

所以我的问题 有什么方法可以实现我的目标?


阅读 194

收藏
2021-04-07

共1个答案

小编典典

如果您使用Insert Into并在MS Access中指定所有列名称,则它应该可以工作。

我刚刚创建了一个具有以下结构的表

Id (autonumber)
Firstname (text)
Secondname (text)
Lastname (text)

我跑了这句话

docmd.RunSQL "insert into table2 (id, firstname, secondname, lastname) values (27, 'a', 'b', 'c')"

它起作用并将27插入自动编号列

2021-04-07