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

(Resolvido) DBCombos interligados


Gabriel Cabral

Pergunta

Bom dia galera

é o seguinte...

em um cadastro de produtos, tenho 4 DBCombos para selecionar os códigos dos fornecedores

para popular esses dbcombos com os códigos dos registros da tabela de fornecedores, faço da seguinte maneira:

cboCadPro_CodForn1.Items.Clear;
  cboCadPro_CodForn2.Items.Clear;
  cboCadPro_CodForn3.Items.Clear;
  cboCadPro_CodForn4.Items.Clear;
  dm.tblCadForn.First;

  while dm.tblCadForn.Eof = False do
  begin
    cboCadPro_CodForn1.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString);
    cboCadPro_CodForn2.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString);
    cboCadPro_CodForn3.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString);
    cboCadPro_CodForn4.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString);
    dm.tblCadForn.next;

Mas, supondo que existam os códigos 00001, 00002, 00003 e 00004

Se eu selecionar o 00001 no CodForn1, ele não pode estar nos outros dbcombos..

aí se eu selecionar 00003 no CodForn2, ele não pode estar nos outros dbcombos..

e assim por diante...

alguém consegue me ajudar??

alguma dica??

Obrigado

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Consegui, galera....

acho que depois dessas duas semaninhas de férias, eu voltei com todo gás :lol:

ficou dessa maneira..

procedure TfrmCadPro.cboCadPro_CodForn1Enter(Sender: TObject);
begin

  cboCadPro_CodForn1.Items.Clear;
  dm.tblCadForn.First;

  while not (dm.tblCadForn.Eof) do
  begin
    if (cboCadPro_CodForn2.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) and
    (cboCadPro_CodForn3.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) and
    (cboCadPro_CodForn4.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) then
    begin
      cboCadPro_CodForn1.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString);
      dm.tblCadForn.next;
    end
    else dm.tblCadForn.next;
  end;

end;

procedure TfrmCadPro.cboCadPro_CodForn2Enter(Sender: TObject);
begin

  cboCadPro_CodForn2.Items.Clear;
  dm.tblCadForn.First;

  while not (dm.tblCadForn.Eof) do
  begin
    if (cboCadPro_CodForn1.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) and
    (cboCadPro_CodForn3.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) and
    (cboCadPro_CodForn4.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) then
    begin
      cboCadPro_CodForn2.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString);
      dm.tblCadForn.next;
    end
    else dm.tblCadForn.next;
  end;

end;

procedure TfrmCadPro.cboCadPro_CodForn3Enter(Sender: TObject);
begin

  cboCadPro_CodForn3.Items.Clear;
  dm.tblCadForn.First;

  while not (dm.tblCadForn.Eof) do
  begin
    if (cboCadPro_CodForn1.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) and
    (cboCadPro_CodForn2.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) and
    (cboCadPro_CodForn4.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) then
    begin
      cboCadPro_CodForn3.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString);
      dm.tblCadForn.next;
    end
    else dm.tblCadForn.next;
  end;

end;

procedure TfrmCadPro.cboCadPro_CodForn4Enter(Sender: TObject);
begin

  cboCadPro_CodForn4.Items.Clear;
  dm.tblCadForn.First;

  while not (dm.tblCadForn.Eof) do
  begin
    if (cboCadPro_CodForn1.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) and
    (cboCadPro_CodForn2.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) and
    (cboCadPro_CodForn3.text <> dm.tblCadForn.FieldByName('FORCOD').AsString) then
    begin
      cboCadPro_CodForn4.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString);
      dm.tblCadForn.next;
    end
    else dm.tblCadForn.next;
  end;

end;

Muito obrigado!!!

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...