Access的表比Sql的表少一个字段,使用
INSERT INTO List
SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'E:\work\20050201.Mdb';
'admin'; '', list) Rowset_1就提示列名或所提供的值的数目与表定义不匹配,
如何能导入?且同时对多出来的那个字段付个初值。求教。
INSERT INTO List
SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'E:\work\20050201.Mdb';
'admin'; '', list) Rowset_1就提示列名或所提供的值的数目与表定义不匹配,
如何能导入?且同时对多出来的那个字段付个初值。求教。
'admin'; '', list) Rowset_1
方法2:用Recordset循环去加
(字段1,字段2,...,字段n-1)应该是Access表中的字段所对应的SQLServer库表中的字段,注意,其个数是N-1,而不是N(N为SQLServer中的字段数)
如果还继续出错,请给出详细的错误提示.
INSERT INTO List
SELECT *,null
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'E:\work\20050201.Mdb';
'admin'; '', list) Rowset_1
dDB.Execute "INSERT INTO List SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', '" & CurrPath & Format(i, "yyyymmdd") & ".Mdb';'admin'; '', 'select id,name,date, left as left_f,right as right_f,wrist," & SerialNo & " from list')"dDB.Execute "INSERT INTO SUM SELECT *," & SerialNo & " FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', '" & CurrPath & Format(i, "yyyymmdd") & ".Mdb';'admin'; '', sum)"
但是下面那个如果写成上面那个形式就提示 from子句语法出错,想不通,感觉其中一个不合语法,但都能用,想不通dDB.Execute "INSERT INTO SUM SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', '" & CurrPath & Format(i, "yyyymmdd") & ".Mdb';'admin'; '', 'select date, total_num,ok_num,fail_num," & SerialNo & " from sum')"