ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Contar registos da tabela A e B (RESOLVIDO)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
mflopes
Aprendiz
Aprendiz


Registrado: Domingo, 16 de Janeiro de 2005
Mensagens: 135
Localização: lisboa

MensagemEnviada: Ter Ago 10, 2010 8:38 am    Assunto: Contar registos da tabela A e B (RESOLVIDO) Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
felipecaputo
Colaborador
Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010
Mensagens: 1719
Localização: Florianópolis / SC

MensagemEnviada: Ter Ago 10, 2010 9:04 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
fbnois
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 10 de Abril de 2008
Mensagens: 364
Localização: Na frente do Computador

MensagemEnviada: Ter Ago 10, 2010 9:54 am    Assunto: Responder com Citação

Vc pod emandar contar os campor usando um SQl

Código:

select count(campo_primary_key) from nome_da_tabela
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
mflopes
Aprendiz
Aprendiz


Registrado: Domingo, 16 de Janeiro de 2005
Mensagens: 135
Localização: lisboa

MensagemEnviada: Ter Ago 10, 2010 10:41 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
felipecaputo
Colaborador
Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010
Mensagens: 1719
Localização: Florianópolis / SC

MensagemEnviada: Ter Ago 10, 2010 10:45 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
mflopes
Aprendiz
Aprendiz


Registrado: Domingo, 16 de Janeiro de 2005
Mensagens: 135
Localização: lisboa

MensagemEnviada: Ter Ago 10, 2010 11:52 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
felipecaputo
Colaborador
Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010
Mensagens: 1719
Localização: Florianópolis / SC

MensagemEnviada: Ter Ago 10, 2010 1:05 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB