GARANTIR DESCONTO

Fórum Circular datalinks are not allowed #210718

30/01/2004

0

Eu inseri um DBLookUpComboBox e um StringGrid em um Form. Relacionei os campos de duas tabelas e gostaria que, ao selecionar um ítem no DBLookUpComboBox, aparecesse somente os registros que possuíssem aquele campo selecionado, mas aparece a mensagem ´Circular datalinks are not allowed´ quando eu rodo o programa. O que pode ser?

Obrigado,
Gustavo.


The_gugs

The_gugs

Responder

Posts

31/01/2004

Edilcimar

isto acontece quando vc tenta ligar uma tabela A a uma Tabela B e a tabela B na tabela A ou seja: vc está dizendo que A é dependente de B e que B é dependente de A, isto é uma informação circular, não importe se é uma tabela um dblookup ou qualquer outro componente, portanto verifique as conecções entre a tabela e o dblookup que vc está tentando fazer isto que eu expliquei


Responder

Gostei + 0

31/01/2004

The_gugs

Significa, então, que eu estou tentando relacionar uma tabela que já está relacionada?

Explicando melhor o que eu fiz:
Criei uma tabela Área e uma tabela Curso, a tabela Curso possui um campo chamado área, no qual vai o campo código da tabela Área. No dblookup eu puz as áreas e num stringgrid eu puz os cursos. No dblookup eu relacionei o campo área da tabela Curso com o código da tabela Área e como resultado o nome das áreas. No table da tabela Curso, em MasterSource, eu puz o datasource da tabela Área e em MasterFields o código da tabela Área relacionado com o área da tabela Curso.[/b]


Responder

Gostei + 0

23/08/2005

Mordred

Caraca! Não tô entendendo o que aconteceu aqui...
Tenho duas tabelas, uma se chama Funcionário e outra se chama Usuário. Todo usuário do sistema precisa ser funcionário cadastrado, ou seja, a tabela de Usuário tem uma chave estrangeira que aponta para a tabela de Funcionário. Até aí beleza.

Montei uma tela onde tenho um DBLookup Combo ligada com o campo CodFunc da tabela de Usuários que mostra o campo Nome da tabela de Funcionários. Não poderia ser diferente, poderia? Mas o que acontece é que quando chamo o comando tabFuncionarios.Open, o Delphi dá um erro de ´circular datalinks are not allowed´. Onde foi que eu errei?


Responder

Gostei + 0

23/08/2005

Mordred

Deixa eu especificar melhor...

Esta é a tabela de Funcionario
SET SQL DIALECT 3;

SET NAMES WIN1252;



/**************************************************************************/
/****                              Tables                              ****/
/**************************************************************************/



CREATE TABLE FUNCIONARIO (
    CODFUNC     INTEGER NOT NULL,
    RG          TEXTOPEQ NOT NULL /* TEXTOPEQ = VARCHAR(20) */,
    CPF         TEXTOPEQ NOT NULL /* TEXTOPEQ = VARCHAR(20) */,
    NOME        TEXTOGDE NOT NULL /* TEXTOGDE = VARCHAR(60) */,
    DATANASC    DATE NOT NULL,
    ENDERECO    TEXTOGDE NOT NULL /* TEXTOGDE = VARCHAR(60) */,
    BAIRRO      TEXTOMEDIO NOT NULL /* TEXTOMEDIO = VARCHAR(30) */,
    CIDADE      TEXTOMEDIO NOT NULL /* TEXTOMEDIO = VARCHAR(30) */,
    ESTADO      VARCHAR(2) NOT NULL,
    CEP         TEXTOCURTO /* TEXTOCURTO = VARCHAR(15) */,
    COMPL       TEXTOMEDIO /* TEXTOMEDIO = VARCHAR(30) */,
    TELEFONE    TEXTOCURTO /* TEXTOCURTO = VARCHAR(15) */,
    RAMAL       INTEGER,
    CELULAR     TEXTOCURTO /* TEXTOCURTO = VARCHAR(15) */,
    EMAIL       TEXTOGDE /* TEXTOGDE = VARCHAR(60) */,
    IDSETOR     TEXTOPEQ NOT NULL /* TEXTOPEQ = VARCHAR(20) */,
    IDCARGO     TEXTOPEQ NOT NULL /* TEXTOPEQ = VARCHAR(20) */,
    ADMISSAO    DATE NOT NULL,
    FOTO        IMAGEM /* IMAGEM = BLOB SUB_TYPE 0 SEGMENT SIZE 80 */,
    INIEXPED    TIME,
    INIALMOCO   TIME,
    FIMALMOCO   TIME,
    FIMEXPED    TIME,
    BANCOHORAS  TIME,
    DEMISSAO    DATE,
    OBSERVACAO  MEMORANDO /* MEMORANDO = VARCHAR(255) */,
    DTCADASTRO  DATE DEFAULT CURRENT_DATE
);




/**************************************************************************/
/****                        Unique Constraints                        ****/
/**************************************************************************/

ALTER TABLE FUNCIONARIO ADD UNIQUE (RG);
ALTER TABLE FUNCIONARIO ADD UNIQUE (CPF);


/**************************************************************************/
/****                           Primary Keys                           ****/
/**************************************************************************/

ALTER TABLE FUNCIONARIO ADD PRIMARY KEY (CODFUNC);


/**************************************************************************/
/****                           Foreign Keys                           ****/
/**************************************************************************/

ALTER TABLE FUNCIONARIO ADD FOREIGN KEY (IDCARGO) REFERENCES CARGO (IDCARGO) ON DELETE CASCADE ON UPDATE CASCADE;


E esta é a tabela de Usuário
/**************************************************************************/
/****             Generated by IBExpert 23/8/2005 16:39:41             ****/
/**************************************************************************/

SET SQL DIALECT 3;

SET NAMES WIN1252;



/**************************************************************************/
/****                              Tables                              ****/
/**************************************************************************/



CREATE TABLE USUARIO (
    USUARIO     TEXTOPEQ NOT NULL /* TEXTOPEQ = VARCHAR(20) */,
    CODFUNC     INTEGER NOT NULL,
    SENHA       TEXTOPEQ NOT NULL /* TEXTOPEQ = VARCHAR(20) */,
    IDNVACESSO  TEXTOPEQ NOT NULL /* TEXTOPEQ = VARCHAR(20) */
);




/**************************************************************************/
/****                        Unique Constraints                        ****/
/**************************************************************************/

ALTER TABLE USUARIO ADD UNIQUE (CODFUNC);


/**************************************************************************/
/****                           Primary Keys                           ****/
/**************************************************************************/

ALTER TABLE USUARIO ADD PRIMARY KEY (USUARIO);


/**************************************************************************/
/****                           Foreign Keys                           ****/
/**************************************************************************/

ALTER TABLE USUARIO ADD FOREIGN KEY (CODFUNC) REFERENCES FUNCIONARIO (CODFUNC) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE USUARIO ADD FOREIGN KEY (IDNVACESSO) REFERENCES NVACESSO (IDNVACESSO) ON DELETE CASCADE ON UPDATE CASCADE;



Responder

Gostei + 0

23/08/2005

Mordred

OK, não precisam mais se preocupar comigo. Foi só eu desfazer o relacionamento mestre-detalhe que eu tinha criado entre Funcionário e Usuário. Não me perguntem o porquê.


Responder

Gostei + 0

17/07/2017

Vinicius Simoes

Se liga, aparentemente é um Bug do Delphi (no meu caso, delphi 7). Exclui as DCU´s e compilei novamente e o problema persistiu.
Consegui resolver, excluindo o DblookupComboBox e o Datasource e adicionei novos no formulário e o problema foi resolvido.
Responder

Gostei + 0

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

Aceitar