Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
mflopes Aprendiz

Registrado: Domingo, 16 de Janeiro de 2005 Mensagens: 135 Localização: lisboa
|
Enviada: Ter Ago 10, 2010 8:38 am Assunto: Contar registos da tabela A e B (RESOLVIDO) |
|
|
Como poderi contar os registos da Tabela A e B e caso a tabela A tenha mais registos que a tabela B eliminar a diferença mas caso a tabela A tenha menos registos Adicionar a diferença?
estou a utilizar o access
Obrigado
Editado pela última vez por mflopes em Qua Ago 11, 2010 4:22 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
felipecaputo Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010 Mensagens: 1719 Localização: Florianópolis / SC
|
Enviada: Ter Ago 10, 2010 9:04 am Assunto: |
|
|
na verdade vc vai ter que ter 2 queries e ir num while em cada uma verificando com um locate no campo principal se este registro existe na outra tabela e depois se não existir inserir _________________ if Post.State = psResolvido then
Post.Caption := Post.Caption + ' [RESOLVIDO]';
_____________________________________________
O único homem que está isento de erros, é aquele que não arrisca acertar. Albert Einstein |
|
Voltar ao Topo |
|
 |
fbnois Membro Junior


Registrado: Quinta-Feira, 10 de Abril de 2008 Mensagens: 364 Localização: Na frente do Computador
|
Enviada: Ter Ago 10, 2010 9:54 am Assunto: |
|
|
Vc pod emandar contar os campor usando um SQl
Código: |
select count(campo_primary_key) from nome_da_tabela
|
|
|
Voltar ao Topo |
|
 |
mflopes Aprendiz

Registrado: Domingo, 16 de Janeiro de 2005 Mensagens: 135 Localização: lisboa
|
Enviada: Ter Ago 10, 2010 10:41 am Assunto: |
|
|
Poderei efectuar algo assim ou existem outras soluções:
Tabela A < ===B
1 ====== ==== 1
2====== ====2
3====== ====3
4====== ==== 4
5====== ==== 5
6Delete????????
7
8
ou
Tabela A <=== B
1 ====== ==== 1
2====== ==== 2
3====== ==== 3
4 ====== ==== 4
5====== ==== 5
6====== ==== 6
7====== ==== 7
8====== ==== 8
+1 Append=== = 9
+1Append===== 10
select count(campo_primary_key) from Tabela A
select count(campo_primary_key) from Tabela B
If Edit1.text =< Edit2.text
then
Tabela A append (i)// N registos de difença ?
else
Editado pela última vez por mflopes em Ter Ago 10, 2010 11:08 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
felipecaputo Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010 Mensagens: 1719 Localização: Florianópolis / SC
|
Enviada: Ter Ago 10, 2010 10:45 am Assunto: |
|
|
por isso que eu te dei o exempo do while
Código: | qryTabelaA.First;
while not qryTabelaA.Eof
begin
if not qryTabelaB.Locate('nomedocampo',qrytabelaACampo.value,[]) then
//insere o registro na A ou deleta da B
end;
qryTabelaB.First;
while not qryTabelaB.Eof
begin
if not qryTabelaA.Locate('nomedocampo',qrytabelaBCampo.value,[]) then
//insere o registro na B ou deleta da A
end; |
_________________ if Post.State = psResolvido then
Post.Caption := Post.Caption + ' [RESOLVIDO]';
_____________________________________________
O único homem que está isento de erros, é aquele que não arrisca acertar. Albert Einstein |
|
Voltar ao Topo |
|
 |
mflopes Aprendiz

Registrado: Domingo, 16 de Janeiro de 2005 Mensagens: 135 Localização: lisboa
|
Enviada: Ter Ago 10, 2010 11:52 am Assunto: |
|
|
u a que não me fiz comprender
eu so preciso
Código: | qryTabelaA.First;
while not qryTabelaA.Eof
begin
if not qryTabelaB.Locate('nomedocampo',qrytabelaACampo.value,[]) then
//insere o registro na A ou deleta da A
end; |
A Tebela B so referençia para copiar em seguida os campos para A
Já que neste momento o que estou a fazer e simplesmente Eliminar os registos da Tabela A e em seguida Inserir todos da Tabela B na A Com Append
Da forma que voce esta fazendo e uma maneira mais limpa
Obrigado |
|
Voltar ao Topo |
|
 |
felipecaputo Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010 Mensagens: 1719 Localização: Florianópolis / SC
|
Enviada: Ter Ago 10, 2010 1:05 pm Assunto: |
|
|
não esqueça de colocar o tópico como resolvido blz? _________________ if Post.State = psResolvido then
Post.Caption := Post.Caption + ' [RESOLVIDO]';
_____________________________________________
O único homem que está isento de erros, é aquele que não arrisca acertar. Albert Einstein |
|
Voltar ao Topo |
|
 |
|