Compara tabelas de dois bancos e insere dados não existentes.
- Código:
Public Function ComparaImportaDadosNaoExistentes()
'@jpaulo 2017-10-10
'www.maximoaccess.com
'
'ESTE CÓDIGO DEVE SER INSERIDO NUM MÓDULO
'******* ALTERAR APENAS O CAMINHO DO BANCO EXTERNO E NOME ********
'
'ESTE CÓDIGO NÃO PERMITE DUPLICAÇÃO DE DADOS
'APENAS INSERE DADOS NÃO EXISTENTES EM TABELAS IGUAIS
Dim sTable As String
Dim strSQL As String
Dim db As DAO.Database
Dim tdf As DAO.TableDef
On Error GoTo 1
Set db = CurrentDb
For Each tdf In db.TableDefs
If Not (tdf.Name Like "MSys*" Or tdf.Name Like "~*") Then
sTable = tdf.Name
'aqui informo o banco onde estão os dados originais
strSQL = "INSERT INTO ${sTable} SELECT * FROM [MS Access;DATABASE=C:\SeuBancoExterno.accdb;].[${stable}]"
strSQL = Replace(strSQL, "${sTable}", sTable, 1, -1, vbTextCompare)
CurrentDb.Execute "DELETE FROM " & sTable
CurrentDb.Execute strSQL
End If
Next
MsgBox "Completo...", vbInformation
Set db = Nothing
Exit_1:
DoCmd.Hourglass False
DoCmd.Echo True
Exit Function
1:
DoCmd.Hourglass False
DoCmd.Echo True
Dim Msg$
Msg = "Erro # " & Str(Err.Number) & " gerado na " & Err.Source _
& vbNewLine & vbNewLine & "Descrição: " & Err.Description _
& vbNewLine & vbNewLine & "Por favor strConecttate o Administrador do Sistema."
MsgBox Msg, vbMsgBoxHelpButton + vbCritical, "Erro"
Resume Exit_1
End Function