我这样写:
cnn.CursorLocation = adUseClient
cnn.Open "Provider=sqloledb;Data Source=ServerName;Network Library=DBMSSOCN;Initial Catalog=ABC;User ID=sa;Password=pw;"cnn.Execute "INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', '" + App.Path + "\Temp.mdb'; 'admin'; '', TableName) SELECT top 1 * From TableName order by autoid desc"报错:"OLE/DB provider returned message:磁盘或网络错误."
cnn.CursorLocation = adUseClient
cnn.Open "Provider=sqloledb;Data Source=ServerName;Network Library=DBMSSOCN;Initial Catalog=ABC;User ID=sa;Password=pw;"cnn.Execute "INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', '" + App.Path + "\Temp.mdb'; 'admin'; '', TableName) SELECT top 1 * From TableName order by autoid desc"报错:"OLE/DB provider returned message:磁盘或网络错误."
RS2连到ACCESSDo While Not RS.EOF
RS2.AddNew
For i = 0 To RS.Fields.Count - 1
RS2.Fields(i) = RS.Fields(i)
Next
RS2.Update
DoEvents
RS.MoveNext
Loop其中加上判断条件什么的
所以,你要先建立该数据库才能正确导出.
会不会是vb不支持"OPENROWSET"呢?
这种从远端SQLServer到本地Access导数据我也很头疼,连接到SQLServer远程打开Access吧,Access路径找不到;连接到Access远程打开SQLServer吧,很多语句在Access上又执行不了。
insert into openrowset('Microsoft.Jet.OLEDB.4.0',
'x:\A.mdb';'admin';'',A表) select * from 数据库名..B表