Preciso pegar todos os registros da tabela CONTAS_DBF e Inserir na tabela CONTAS até aí ok.... rssss
O problema é que quando é inserido mais um registro na tabela CONTAS_DBF e mando atualizar a tabela CONTAS ele insere tudo novamente... kkkkk e eu quero que insira somente o registro novo e os demais que tem nas duas tabelas faça somente o UPDATe caso tenha alguma alteração em algum campo.... sacou????
Veja o codigo.
' SQL PARA ABRIR TODAS AS CONTAS DO DBF
Set rs_contadbf = New ADODB.Recordset
sql_contadbf = "Select * From CONTA_DBF"
rs_contadbf.Open sql_contadbf, CurrentProject.Connection, adOpenKeyset, adLockOptimistic, -1
' VERIFICA SE A TABELA DBF TAH VAZIA
If rs_contadbf.EOF Or rs_contadbf.BOF Then
'MsgBox "VAZIA"
Else
' LOOP NA TABELA CONTA_DBF
While Not rs_contadbf.EOF
' SQL PARA COMPARAR O CD_CONTA DAS DUAS TABELAS (CONTA_DBF E CONTA)
Set rs_conta = New ADODB.Recordset
sql_conta = "Select * From Conta Where conta.cd_conta = '" & Trim(rs_contadbf!CD_CONTA) & "'"
rs_conta.Open sql_conta, CurrentProject.Connection, adOpenKeyset, adLockOptimistic, -1
' VERIFICA SE EH DIFERENTE UM DO OUTRO
If rs_conta!CD_CONTA = rs_contadbf!CD_CONTA Then
MsgBox "IGUAIS FAZ UPDATE = " & rs_conta!CD_CONTA
Else
'TIRAR O AVISO DE EXECUCAO DO INSERT
DoCmd.SetWarnings False
sql_insert = "INSERT INTO CONTA ( CD_CONTA, CD_CLAS, DS_CONTA, TP_CONTA, CD_HIST, CD_IRRF, CD_CORREC, CD_EXTRAT, CD_CTASAI, CD_CBTAXA, CD_JUROS, CD_CPMF, CD_MULTA, CD_IMPRES ) SELECT CONTA_DBF.CD_CONTA, CONTA_DBF.CD_CLAS, CONTA_DBF.DS_CONTA, CONTA_DBF.TP_CONTA, CONTA_DBF.CD_HIST, CONTA_DBF.CD_IRRF, CONTA_DBF.CD_CORREC, CONTA_DBF.CD_EXTRAT, CONTA_DBF.CD_CTASAI, CONTA_DBF.CD_CBTAXA, CONTA_DBF.CD_JUROS, CONTA_DBF.CD_CPMF, CONTA_DBF.CD_MULTA, CONTA_DBF.CD_IMPRES FROM CONTA_DBF"
DoCmd.RunSQL sql_insert
DoCmd.SetWarnings True
MsgBox "DIFERENTES FAZ INSERT = " & rs_contadbf!CD_CONTA
End If
rs_contadbf.MoveNext
Wend
End If
Duplicando Insert Na Tabela
Started By spynet, 10/07/2007, 12:15
Nenhuma resposta neste tópico
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)