2017-05-22 35 views
0

我有兩個Access數據庫[源(TBL_PAINEL)]具有相同的主表結構,但我需要將數據傳輸到[目標(TBL_PAINEL2)]數據庫,但我不能請幫我。關注代碼:在外部數據庫之間傳輸數據

Dim strSQL As String 
Dim db As DAO.Database 
Dim db1 As DAO.Database 
Dim wrk As DAO.Workspace 
Dim rs As DAO.Recordset 
Dim dbname As String 

Set wrk = DBEngine(0) 
Set db = CurrentDb() 
Set db1 = wrk.OpenDatabase("\\fswcorp\cat\dsie\soas\gocpf\UGO\5. QA\2. DB\History_CD.accdb") 

dbname = "\\fswcorp\cat\dsie\soas\gocpf\UGO\5. QA\2. DB\History_CD.accdb" 

strSQL = "INSERT INTO TBL_PAINEL2 (CHAVEPAINEL, NOMECLIENTE, AGENCIA, CONTA, CONTRATO, MODALIDADE, ID_SEGMENTO, ID_PRODUTO) " _ 
& "SELECT TBL_PAINEL .CHAVEPAINEL, TBL_PAINEL.NOMECLIENTE, TBL_PAINEL.AGENCIA, TBL_PAINEL.CONTA, TBL_PAINEL.CONTRATO, TBL_PAINEL.MODALIDADE, TBL_PAINEL.ID_SEGMENTO, TBL_PAINEL.ID_PRODUTO " _ 
& "FROM TBL_PAINEL " _ 
& "IN '" & dbname & "';" 

db1.Execute (strSQL) 

wrk.Close 
Set db = Nothing 
Set db1 = Nothing 
Set wrk = Nothing 

謝謝!

+1

什麼問題?錯誤? – Parfait

+0

我不能,錯誤是:'名稱的無效包圍'Y:\ SOAS \ GOCPF \ UGO \ 5。 QA \ 2。 DB \ History_CD.accdb」。 –

回答

1

這裏真的不需要vba,只是一個普通的查詢。如果必須保存查詢並從vba運行。

如果從3'rd數據庫中運行,既不是源或目標:

INSERT INTO target_table IN '\\serverpath\target.accdb' 
SELECT * FROM source_table IN '\\serverpath\source.accdb' 

如果是從源數據庫中運行,只是省略了路徑,反之亦然,如果你是從內部運行目標數據庫。

INSERT INTO target_table IN '\\serverpath\target.accdb' 
SELECT * FROM source_table 
+0

我不能,錯誤是:'無效的名稱包圍'Y:\ SOAS \ GOCPF \ UGO \ 5。 QA \ 2。 DB \ History_CD.accdb」。 –