Fórum Lookup na mesma tabela #560433

21/08/2016

0

Olá, sou intermediário, utilizo o Delphi Xe 8, o banco Firebird e com a conexão feita pelo Firedac, mas em um dos campo de uma tabela, (Ani_mae) preciso conectar o campo na mesma tabela (Ani_id), mas o delphi retornou o erro \"Circular datalinks are not allowed\", pesquisei mas não achei uma solução para o meu problema!

Agradeço qualquer forma de ajuda!

Segue aqui em baixo a tabela na qual eu falo.

CREATE TABLE ANIMAIS (
    ANI_ID         INTEGER NOT NULL,
    ANI_DATACAD    DATE,
    ANI_BRINCO     INTEGER,
    ANI_DATANASCI  DATE,
    ANI_NOME       NOME,
    ANI_CATE       INTEGER,
    ANI_ESTPROD    INTEGER,
    ANI_ESTDLACT   INTEGER,
    ANI_MAE        INTEGER,
    ANI_PAI        INTEGER,
    ANI_RACA       INTEGER,
    ANI_DIASLACT   INTEGER,
    ANI_NCRIA      INTEGER,
    ANI_PESO       INTEGER,
    ANI_OBS        OBS
);
Luís Maruccio

Luís Maruccio

Responder

Post mais votado

21/08/2016

em qual momento ele retorna o erro ,
debug e posta a linha do debug

Qual o procedimento ou componente, está usando para conectar o campo

Raimundo Pereira

Raimundo Pereira
Responder

Gostei + 3

Mais Posts

21/08/2016

Luís Maruccio

Ele retorna o erro imediatamente ao eu colocar o campo no listkey. Utilizo o componente de conexão do próprio Firedac, mas para ser mais claro

Campo > DataSource(Nativo) > Table(Firedac) > Conexão(Firedac)
Responder

Gostei + 0

21/08/2016

Raimundo Pereira

Ele retorna o erro imediatamente ao eu colocar o campo no listkey. Utilizo o componente de conexão do próprio Firedac, mas para ser mais claro

Campo > DataSource(Nativo) > Table(Firedac) > Conexão(Firedac)


Quando você se refere listkey, seriao no caso dbloockup.listkey ?
Responder

Gostei + 0

21/08/2016

Luís Maruccio

Exatamente
Responder

Gostei + 0

21/08/2016

Raimundo Pereira

Só para registrar, tentei criar a sua tabela, porem tive que realizar duas mudanças

CREATE TABLE ANIMAIS (
ANI_ID INTEGER NOT NULL,
ANI_DATACAD DATE,
ANI_BRINCO INTEGER,
ANI_DATANASCI DATE,
ANI_NOME varchar (40), // Primeira mudança
ANI_CATE INTEGER,
ANI_ESTPROD INTEGER,
ANI_ESTDLACT INTEGER,
ANI_MAE INTEGER,
ANI_PAI INTEGER,
ANI_RACA INTEGER,
ANI_DIASLACT INTEGER,
ANI_NCRIA INTEGER,
ANI_PESO INTEGER,
ANI_OBS varchar (40) // Segunda mudança
);
Responder

Gostei + 0

21/08/2016

Raimundo Pereira

Pronto vou testar, 5minutos
Responder

Gostei + 0

21/08/2016

Luís Maruccio

Ok tudo bem! Para deixar claro os campos: ANI_CATE, ANI_ESTPROD, ANI_ESTDLACT, ANI_MAE, ANI_PAI e ANI_RACA são foreign keys, mas apenas o ANI_MAE é na mesma tabela e o ANI_ID utilizo código dentro do delphi para o auto incremento
Responder

Gostei + 0

21/08/2016

Raimundo Pereira

Por motivos técnicos não conseguir postar o resultado aqui.

Mais tenho um canal no youtube

O os detalhes está no comentário do vídeo, não precisa assistir o vídeo, nem se inscrever no canal a não ser que o queira

Link do Video
Os resultados serão o que está abaixo:
Imagem do comando em FORM
Imagem do Resultado no campo destino
Responder

Gostei + 0

22/08/2016

Luís Maruccio

Cara vlw!!! Não utilizei exatamente como descreveu, mas ele abriu a minha mente ao ponto de adapta-lo as minhas necessidades!!!
+1 inscrito!!!! Ah se precisa de alguma ajuda em relação ao YouTube, pode falar cmg, tive uma breve experiência com ele e sei como é complicado o início de um canal!!!
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar