Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Adoquery mestre e filha inserir & elimanar registos


rebotea

Pergunta

Amigos já algum tempo estou tentando trabalhar com Adoquerys em vez de usar umas Adoquery com "tabela Meste" e um TTable na tabela filha.

mas muitas vezes faz falta usar 2 Adoquerys assim passo a expor meu problema

tabela mestre

//até aqui tudo bem

SELECT * FROM TabelaBusca

ORDER BY designação_Mat

agora buscar o registo Mestre de forma a Inserir ou eliminar Registos na tabela filha não estou conseguindo .

alguém pode dar uma ajuda.. obrigado

SELECT TabelaBusca.designação_Mat, TabelaBusca_Sub.designação, TabelaBusca_Sub.valor, TabelaBusca_Sub.texto

FROM TabelaBusca INNER JOIN TabelaBusca_Sub ON TabelaBusca.designação_Mat = TabelaBusca_Sub.designação_Mat;

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

o que procurava fazer era isto. +

SELECT *

from Inspecoes_SUB_SUB_MEd

where numeracao_sub=:numeracao_sub

order by numeracao_sub_EQ;

mas ainda me falta completar...

SubTRelFinal_sub_Med.first;

i:= trim( SubTRelFinal_sub_Med.Fieldbyname('Variavel').value);

frmDados.TabelaBusca_Sub.first;

while not frmDados.TabelaBusca_Sub.Eof do begin

begin

if i <> '' then

SubTRelFinal_sub_Med.edit

else

SubTRelFinal_sub_Med.Append ;

O que necessitava fazer era se a frmDados.TabelaBusca_Sub tiver mais registos que SubTRelFinal_sub_Med iria efectuar so actualização de campos quando necessario inserir ( SubTRelFinal_sub_Med.edit

else

SubTRelFinal_sub_Med.Append ;) ou se a tabela SubTRelFinal_sub_Med continuar com mais registos que a tabela TabelaBusca_Sub elimina-se os mesmos?

e possivel efectuar estas comparações? Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

A sua idéia é:

Tabela1 = TabelaBusca_Sub

Tabela2 = SubTRelFinal_sub_Med

Se a tabela1 tiver mais registros que a tabela2 então atualizar os dados da tabela2 ou inserir registros se necessario

Se a tabela2 tiver mais registros que a tabela1 então deletar registros da tabela1

---------------------------------------------------------------

Porque não usar apenas uma tabela e usar sql para filtrar os registros que deseja ? a maneira como deseja fazer, deixa redundante o processamento, mantento os mesmos dados em 2 tabelas.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

existe alguma outra forma de saber se já existe algum valor na tabela destino?

SubTRelFinal_sub_Med.first;

i:= trim( SubTRelFinal_sub_Med.Fieldbyname('Variavel').value);

pelo que diz e mais facil eliminar os registos da tabela SubTRelFinal_sub_Med

e depois inserir nos registos necessarios apartir da tabela origem? e isso?

SubTRelFinal_sub_Med.first;

frmDados.TabelaBusca_Sub.first;

while not frmDados.TabelaBusca_Sub.Eof do begin

SubTRelFinal_sub_Med.DeleteRecords(??);

SubTRelFinal_sub_Med.Append ;

Link para o comentário
Compartilhar em outros sites

  • 0
pelo que diz e mais facil eliminar os registos da tabela SubTRelFinal_sub_Med

e depois inserir nos registos necessarios apartir da tabela origem? e isso?

Sim ... se houver mesmo essa necessidade da tabela SubTRelFinal_sub_Med ter os mesmos dados da tabela TabelaBusca_Sub, é mais facil voce deletar ela toda e depois jogar todos os registros da tabela TabelaBusca_Sub, sem ter que ficar controlando as duas.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

e isso que vou fazer Obrigado assim nunca deixo registos por Eliminar.

Obrigado

pelo que diz e mais facil eliminar os registos da tabela SubTRelFinal_sub_Med

e depois inserir nos registos necessarios apartir da tabela origem? e isso?

Sim ... se houver mesmo essa necessidade da tabela SubTRelFinal_sub_Med ter os mesmos dados da tabela TabelaBusca_Sub, é mais facil voce deletar ela toda e depois jogar todos os registros da tabela TabelaBusca_Sub, sem ter que ficar controlando as duas.

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...