GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Atualizar campo se dados forem diferentes - RESOLVIDO
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Programador Júnior

postado
Olá!!!

Tenho uma consulta atualização com as tabelas A e B. Os dados da tabela B devem ser atualizados conforme os dados da tabela A e a data de importação da tabela B só poderá ser alterada se houver dados diferentes nas duas tabelas. Ex:

TABELA A TABELA B

Pedido___Produto____Qtde________Pedido___Produto____Qtde____Dt_Importacao
1________XYZ________5___________1________XYZ________5_______15/01/2008
2________ABC________2___________2________ABC________2_______15/01/2008
3________FRG________4___________3________FRG________4_______15/01/2008
4________PKL________5___________4________PKL________3_______15/01/2008 => AQUI A DATA DEVE SER 18/11/2008
5________MKJ________9___________5________MKJ________9_______15/01/2008
6________BVW________8___________6________BVW________8_______15/01/2008


Como devo proceder?


Grato pela atenção e sucesso a todos,

This message has been edited. Last edited by: Maurício dos Santos,


Maurício
"O único lugar onde SUCESSO vem antes de TRABALHO é no dicionário" - Albert Einstein
 
Postagens: 80 | Localização: São Paulo | Registrado: 29 March 2002Reply With QuoteEditar ou Apagar MensagemReport This Post
Gerente

postado Hide Post
Uma pequena dúvida:

Prá que 2 tabelas com os mesmo dados ?

Um flag na tabela principal indicando alguma coisa não resolveria ?


Desenvolvimento & Suporte
jhfialho@rocketmail.com
 
Postagens: 3666 | Registrado: 01 February 2001Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Júnior

postado Hide Post
Olá Jorge!!!

A tabela A recebe dados importados de um arquivo .txt que é gerado por outro sistema e atualizado diariamente.


Grato pela atenção,


Maurício
"O único lugar onde SUCESSO vem antes de TRABALHO é no dicionário" - Albert Einstein
 
Postagens: 80 | Localização: São Paulo | Registrado: 29 March 2002Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Pleno

postado Hide Post
Não daria certo comparando uma tabela com a outra...se esses registros forem diferentes você edita a tabela B e a data passa a ser a da modificação.

dois loops resolveriam, um para cada tabela:
If qtde(tab1) <> qtde(tab2) then
rstabela2.edit
rstabela2("dt_importacao") = data da importação
rstabela2.update
End If


Mais ou menos assim, espero ter ajudado!

sds,
Gly
 
Postagens: 238 | Registrado: 23 October 2008Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Sênior

postado Hide Post
Oi, Maurício!

Faz uma consulta comparando os campos que podem ser diferentes, mais ou menos assim:

UPDATE 	tabelaB 
INNER JOIN tabelaA ON tabelaB.chaveB=tabelaA.chaveA
SET 	tabelaB.campo1 = tabelaA.campo1, 
	tabelaB.campo2=tabelaA.campo2, 
	tabelaB.campoDATA = date()
WHERE 	(tabelaA.campo1 <> tabelaB.campo1) Or (tabelaA.campo2 <> tabelaB.campo2) 


Um abraço.
 
Postagens: 394 | Localização: Porto Alegre | Registrado: 01 October 2002Reply With QuoteEditar ou Apagar MensagemReport This Post
Gerente

Figura de  rogerio oliveira
postado Hide Post
Considerando que o numero do pedido seja a chave:
Update tblB inner join tblA on [tblA].[pedido] = [tblB].[Pedido] Set 
[tblB].[Produto] = [tblA].[Produto]
[tblB].[Qtde] = [tbla].[Qtde]
[tblB].[Dt_Importacao] = [tbla].[Dt_Importacao]
where 
[tblB].[Produto] <> [tblA].[Produto] OR
[tblB].[Qtde] <> [tbla].[Qtde] 

Assim vc só atualiza os dados que precisam realmente ser atualizados.


Rogério Oliveira
"A inteligência artificial não é páreo para a estupidez natural."
http://www.vhumano.com.br
 
Postagens: 2516 | Localização: Guarulhos - SP | Registrado: 03 February 2005Reply With QuoteEditar ou Apagar MensagemReport This Post
Gerente

Figura de  rogerio oliveira
postado Hide Post
Sorry Hector, postei a mesma idéia em cima de sua resposta, e que ela não estva aparecendo para mim... Triste


Rogério Oliveira
"A inteligência artificial não é páreo para a estupidez natural."
http://www.vhumano.com.br
 
Postagens: 2516 | Localização: Guarulhos - SP | Registrado: 03 February 2005Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Sênior

postado Hide Post
Rogério,

pela convergência de idéias parece que o caminho é por aí mesmo!

Feliz

Um abraço!
 
Postagens: 394 | Localização: Porto Alegre | Registrado: 01 October 2002Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Júnior

postado Hide Post
Olá!!!

Obrigado ao Jorge, Rogério e Hector pela atenção.
A solução é essa mesmo que vocês sugeriram.

Grato pela atenção.

Sucesso a todos,


Maurício
"O único lugar onde SUCESSO vem antes de TRABALHO é no dicionário" - Albert Einstein
 
Postagens: 80 | Localização: São Paulo | Registrado: 29 March 2002Reply With QuoteEditar ou Apagar MensagemReport This Post
 Tópico Anterior | Próximo Tópico Powered by Eve For Enterprise  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Atualizar campo se dados forem diferentes - RESOLVIDO

©