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: 110 | Localização: São Paulo | Registrado: 29 March 2002Reply With QuoteReport This Post
Diretor

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 ?
 
Postagens: 4130 | Registrado: 01 February 2001Reply With QuoteReport 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: 110 | Localização: São Paulo | Registrado: 29 March 2002Reply With QuoteReport This Post
Programador Sênior

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: 304 | Registrado: 23 October 2008Reply With QuoteReport 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: 401 | Localização: Porto Alegre | Registrado: 01 October 2002Reply With QuoteReport 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

“Aqueles que renegam o conhecimento estão fadados a se submeter ao controle daqueles que dominam a informação”

– Martin Luther King
http://www.vhumano.com.br
 
Postagens: 2609 | Localização: Guarulhos - SP | Registrado: 03 February 2005Reply With QuoteReport 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

“Aqueles que renegam o conhecimento estão fadados a se submeter ao controle daqueles que dominam a informação”

– Martin Luther King
http://www.vhumano.com.br
 
Postagens: 2609 | Localização: Guarulhos - SP | Registrado: 03 February 2005Reply With QuoteReport 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: 401 | Localização: Porto Alegre | Registrado: 01 October 2002Reply With QuoteReport 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: 110 | Localização: São Paulo | Registrado: 29 March 2002Reply With QuoteReport This Post
  Powered by Social Strata  
 

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

©