Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net OLEDBCommandBuilder和跨表移动数据访问_.net_Ms Access_Vba_Oledb - Fatal编程技术网

.net OLEDBCommandBuilder和跨表移动数据访问

.net OLEDBCommandBuilder和跨表移动数据访问,.net,ms-access,vba,oledb,.net,Ms Access,Vba,Oledb,那么,下面是: 我需要从Access数据库的表中复制数据,从另一个Access数据库的另一个表中复制数据 表中的列名相同,只是from表有5列,TO表有6列 这是我的密码: dsFrom.Clear() dsTO.Clear() daFrom = Nothing daTO = Nothing conn_string1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="etc.mdb;" conn_string2 = "Provider=Micros

那么,下面是:

我需要从Access数据库的表中复制数据,从另一个Access数据库的另一个表中复制数据

表中的列名相同,只是from表有5列,TO表有6列

这是我的密码:

dsFrom.Clear()
dsTO.Clear()
daFrom = Nothing
daTO = Nothing
conn_string1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="etc.mdb;"
conn_string2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="database.mdb;"
query1 = "Select * from nomenclator_produse"
query2 = "Select * from nomenclator_produse"
Conn1 = New OleDbConnection(conn_string1)
conn2 = New OleDbConnection(conn_string2)
Conn1.Open()
conn2.Open()
daFrom = New OleDbDataAdapter(query1, Conn1)
daTO = New OleDbDataAdapter(query2, conn2)
daFrom.AcceptChangesDuringFill = False
dsFrom.HasChanges()
daFrom.Fill(dsFrom, "nomenclator_Produse")
dsFrom.HasChanges()
Dim cb = New OleDbCommandBuilder(daFrom)
dsTO = dsFrom.Copy
daTO.UpdateCommand = cb.GetUpdateCommand
daTO.InsertCommand = cb.GetInsertCommand
daTO.Update(dsTO, "nomenclator_produse")
因为FROM表有5行,而另一个表有6行,所以我尝试使用由第一个表的DataAdapter生成的InsertCommand


它可以工作,只是它将FROMTABLE中的数据插入到同一个FROMTABLE中,而不是TOTABLE。

我认为您应该在以下行上执行查询:

    conn_string2 = ";Database=c:\Docs\DBFrom.mdb;"
    query1 = "INSERT INTO nomenclator_produse (field1) " _
    & "SELECT f.Field1 from [" & conn_string2 & "].nomenclator_produse f " _
    & "LEFT JOIN nomenclator_produse t " _
    & "ON f.id=t.id WHERE t.id Is Null"