我想做的是以编程方式从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。
IDENTITY_INSERT [MyTable] ON
SET IDENTITY_INSERT [MyTable] OFF
我发现没有Microsoft Access这样的声明。
另外,我尝试创建要首先以身份字段作为类型导入的Access表,LONG然后再使用该ALTER TABLE ... ALTER COLUMN语句切换到自动编号。我没有这样做。
LONG
ALTER TABLE ... ALTER COLUMN
所以我的问题 是 : 有什么方法可以实现我的目标?
如果您使用Insert Into并在MS Access中指定所有列名称,则它应该可以工作。
Insert Into
我刚刚创建了一个具有以下结构的表
Id (autonumber) Firstname (text) Secondname (text) Lastname (text)
我跑了这句话
docmd.RunSQL "insert into table2 (id, firstname, secondname, lastname) values (27, 'a', 'b', 'c')"
它起作用并将27插入自动编号列