Fórum Consulta Utilizando 2 Combobox #149056
24/03/2003
0
Olá pessoal,
Estou tentando fazer um filtro a partir de uma consulta utilizando duas ComboBox (ComboFornecedor, que puxa informações da TB_Fornecedor, e ComboProdutos q puxa informações da ConsultaProdutos) e um DBEdit, onde será jogado o código do Fornecedor para que então a consulta localize todos os produtos a partir deste código.
Na primeira ComboBox eu informo o Fornecedor, ok, funciona beleza!
Ao sair deste campo ele executará esta SQL:
--------------------------------------------------------------------------------------
procedure TFrmSelecionarProdutos.FornecedorExit(Sender: TObject);
begin
DM.ConsProdutos.Close;
DM.ConsProdutos.SQL.Clear;
DM.ConsProdutos.SQL.Add(´SELECT * FROM TB_Produtos WHERE CodigoDoFornecedor LIKE:P1´);
DM.ConsProdutos.ParamByName(´P1´).Value:=StrToIntDef(DBEdit1.Text);
DM.ConsProdutos.Open;
end;
--------------------------------------------------------------------------------------
Então a segunda ComboBox listará todos os produtos deste Fornecedor. Acontece que quando eu digito um fornecedor a consulta não é realizada e meu ComboProdutos fica desativado. Já testei isso com o SQL aberto e um DBGrid listando os dados do SQL, o q acontece? Simplesmente ao abrir o formulário ele abre com todos os dados da tabela Produtos no DBGrid e ao ser executado o comando acima limpa o SQL e não mostra mais nada em meu DBGrid. A idéia deveria ser o contrário, ou seja, listar apenas os registros daquele Fornecedor que eu escolhi na lista. Como posso reolver isso? A minha base de dados é Paradox.
Grato por sua atenção,
Ilano.
Estou tentando fazer um filtro a partir de uma consulta utilizando duas ComboBox (ComboFornecedor, que puxa informações da TB_Fornecedor, e ComboProdutos q puxa informações da ConsultaProdutos) e um DBEdit, onde será jogado o código do Fornecedor para que então a consulta localize todos os produtos a partir deste código.
Na primeira ComboBox eu informo o Fornecedor, ok, funciona beleza!
Ao sair deste campo ele executará esta SQL:
--------------------------------------------------------------------------------------
procedure TFrmSelecionarProdutos.FornecedorExit(Sender: TObject);
begin
DM.ConsProdutos.Close;
DM.ConsProdutos.SQL.Clear;
DM.ConsProdutos.SQL.Add(´SELECT * FROM TB_Produtos WHERE CodigoDoFornecedor LIKE:P1´);
DM.ConsProdutos.ParamByName(´P1´).Value:=StrToIntDef(DBEdit1.Text);
DM.ConsProdutos.Open;
end;
--------------------------------------------------------------------------------------
Então a segunda ComboBox listará todos os produtos deste Fornecedor. Acontece que quando eu digito um fornecedor a consulta não é realizada e meu ComboProdutos fica desativado. Já testei isso com o SQL aberto e um DBGrid listando os dados do SQL, o q acontece? Simplesmente ao abrir o formulário ele abre com todos os dados da tabela Produtos no DBGrid e ao ser executado o comando acima limpa o SQL e não mostra mais nada em meu DBGrid. A idéia deveria ser o contrário, ou seja, listar apenas os registros daquele Fornecedor que eu escolhi na lista. Como posso reolver isso? A minha base de dados é Paradox.
Grato por sua atenção,
Ilano.
Ilanocf
Curtir tópico
+ 0
Responder
Posts
24/03/2003
Aroldo Zanela
Ilano,
Like espaço :parâmetro, ou
= espaço :parâmetro
Like espaço :parâmetro, ou
= espaço :parâmetro
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)