我懷疑你的問題是由於valor1中的空值,除非campo1字段拒絕空值。
您需要一個Access數據庫引擎將接受的INSERT語句。例如,這一說法與DBDestino.mdb打開Access執行:
INSERT INTO tablaDest (campo1, campo2)
SELECT valor1, valor2
FROM tablaOrigen IN 'C:\Access\DBOrigen.mdb';
我不精通VB.Net,但我認爲你可以打開一個DBDestino.mdb連接,然後執行相同的INSERT聲明在Access中工作。
Imports System.Data.OleDb
Module Module1
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim icount As Integer
Dim strInsert As String
Sub Main()
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Access\DBDestino.mdb;")
cn.Open()
strInsert = "INSERT INTO tablaDest (campo1, campo2) " & _
"SELECT valor1, valor2 " & _
"FROM tablaOrigen IN 'C:\Access\DBOrigen.mdb';"
cmd = New OleDbCommand(strInsert, cn)
icount = cmd.ExecuteNonQuery
Debug.Print(icount)
cn.Close()
End Sub
End Module
我測試了一下我的系統上,並從tablaOrigen值成功插入到tablaDest,包含空值。