Bom dia estou com algumas duvidas e precisava da vossa ajuda.
Tenho dois ficheiros que preciso de os unir eles têm as mesmas tabelas o que pretendia era criar um 3 ficheiro que unisse a informação dos outros dois ficheiros.
A minha duvida não é na união mas sim quando existe uma actualização num determinado campo.
Para tal estou a usar o código do Jp com as devidas alterações para o meu ficheiro mas aqui se o registo já existir ele não faz actualização, já tentei usar o UPDATE mas sem sucesso. Alguém consegue ajudar?
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
Dim namedir As String
On Error GoTo 1
Set db = OpenDatabase("C:\xxxxx\xxx\xxxx\xxxxxx.accdb")
namedir = CurrentProject.Path & "\" & Application.CurrentProject.Name
For Each tdf In db.TableDefs
If Not (tdf.Name Like "MSys*" Or tdf.Name Like "~*") Then
sTable = tdf.Name
strSQL = "INSERT INTO ${sTable} SELECT * FROM [MS Access;DATABASE=" & namedir & ";].[${stable}]"
strSQL = Replace(strSQL, "${sTable}", sTable, 1, -1, vbTextCompare)
db.Execute strSQL
End If
Next
MsgBox "Dados Compilados...", 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
Tenho dois ficheiros que preciso de os unir eles têm as mesmas tabelas o que pretendia era criar um 3 ficheiro que unisse a informação dos outros dois ficheiros.
A minha duvida não é na união mas sim quando existe uma actualização num determinado campo.
Para tal estou a usar o código do Jp com as devidas alterações para o meu ficheiro mas aqui se o registo já existir ele não faz actualização, já tentei usar o UPDATE mas sem sucesso. Alguém consegue ajudar?
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
Dim namedir As String
On Error GoTo 1
Set db = OpenDatabase("C:\xxxxx\xxx\xxxx\xxxxxx.accdb")
namedir = CurrentProject.Path & "\" & Application.CurrentProject.Name
For Each tdf In db.TableDefs
If Not (tdf.Name Like "MSys*" Or tdf.Name Like "~*") Then
sTable = tdf.Name
strSQL = "INSERT INTO ${sTable} SELECT * FROM [MS Access;DATABASE=" & namedir & ";].[${stable}]"
strSQL = Replace(strSQL, "${sTable}", sTable, 1, -1, vbTextCompare)
db.Execute strSQL
End If
Next
MsgBox "Dados Compilados...", 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