Я сомневаюсь, что ваша проблема связана со значениями Null в valor1, если только поле campo1 не отклоняет Null.
Вам нужен оператор INSERT, который будет принимать ядро базы данных Access. Например, этот оператор выполняется в Access с открытым DBDestino.mdb:
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, включая Nulls.