 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
dcbfreitas21 Membro Junior

Registrado: Sábado, 30 de Janeiro de 2010 Mensagens: 323
|
Enviada: Ter Ago 30, 2011 3:39 pm Assunto: Pesquisar dados de uma edit e ao... <RESOLVIDO> |
|
|
tenho um aplicativo onde ao mostrar o formulario de produtos ele lista somente os produtos de determinado fornecedor (cadastrado em um outro formulario), porem executo tb codigos para procurar determinados produtos no evento onchange de uma edit e gostaria de juntar os dois, mas nao sei como fazer isso, o codigo do evento onshow é este:
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select tp.codigo, tp.produto, tp.unidade, tp.fornecedor, tp.valor, tu.unidade from tabelaproduto as tp inner join tabelaunidade as tu on tp.unidade = tu.codigo');
ADOQuery1.SQL.Add('where tp.fornecedor = ' + (Form_OC.DBEdit2.Text));
ADOQuery1.SQL.Add('order by produto');
ADOQuery1.Open;
ele ao mostrar o formulario mostra somente os produto do fornecedor informado na dbedit2 e o codigo do evento onchange é este:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select tp.codigo, tp.produto, tp.valor, tp.unidade, tu.unidade from tabelaproduto as tp inner join tabelaunidade as tu on tp.unidade = tu.codigo');
ADOQuery1.SQL.Add('where produto LIKE ' + QuotedStr('%' + edit1.Text + '%'));
ADOQuery1.SQL.Add('order by produto');
ADOQuery1.Open;
mas ao editar ele nao respeita mais o fornecedor logicamente e nao estou sabendo como unir a linha:
ADOQuery1.SQL.Add('where produto LIKE ' + QuotedStr('%' + edit1.Text + '%'));
com a linha:
ADOQuery1.SQL.Add('where tp.fornecedor = ' + (Form_OC.DBEdit2.Text));
Editado pela última vez por dcbfreitas21 em Ter Ago 30, 2011 4:40 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Ago 30, 2011 4:26 pm Assunto: |
|
|
Experimente mais ou menos como segue:
Código: | ADOQuery1.SQL.Add('Select tp.codigo, tp.produto, tp.unidade, tp.fornecedor, tp.valor, tu.unidade');
ADOQuery1.SQL.Add('from tabelaproduto as tp inner join tabelaunidade as tu on tp.unidade = tu.codigo');
ADOQuery1.SQL.Add('where tp.fornecedor = ' + Form_OC.DBEdit2.Text);
ADOQuery1.SQL.Add('and produto LIKE ' + QuotedStr('%' + edit1.Text + '%')); |
ou com parâmetros:
Código: | ADOQuery1.SQL.Add('Select tp.codigo, tp.produto, tp.unidade, tp.fornecedor, tp.valor, tu.unidade');
ADOQuery1.SQL.Add('from tabelaproduto as tp inner join tabelaunidade as tu on tp.unidade = tu.codigo');
ADOQuery1.SQL.Add('where tp.fornecedor = :fornecedor');
ADOQuery1.SQL.Add('and produto LIKE :produto');
ADOQuery1.Parameters.ParamByName('fornecedor').Value := Form_OC.DBEdit2.Text;
ADOQuery1.Parameters.ParamByName('produto').Value := QuotedStr('%' + edit1.Text + '%'); |
obs: acho melhor acessar o valor pelo field do que pelo DBEdit ao qual está ligado
Espero que ajude.
_________________
Assinatura: Salas comerciais em Guarulhos |
|
Voltar ao Topo |
|
 |
dcbfreitas21 Membro Junior

Registrado: Sábado, 30 de Janeiro de 2010 Mensagens: 323
|
Enviada: Ter Ago 30, 2011 4:38 pm Assunto: |
|
|
imex escreveu: | Experimente mais ou menos como segue:
Código: | ADOQuery1.SQL.Add('Select tp.codigo, tp.produto, tp.unidade, tp.fornecedor, tp.valor, tu.unidade');
ADOQuery1.SQL.Add('from tabelaproduto as tp inner join tabelaunidade as tu on tp.unidade = tu.codigo');
ADOQuery1.SQL.Add('where tp.fornecedor = ' + Form_OC.DBEdit2.Text);
ADOQuery1.SQL.Add('and produto LIKE ' + QuotedStr('%' + edit1.Text + '%')); |
ou com parâmetros:
Código: | ADOQuery1.SQL.Add('Select tp.codigo, tp.produto, tp.unidade, tp.fornecedor, tp.valor, tu.unidade');
ADOQuery1.SQL.Add('from tabelaproduto as tp inner join tabelaunidade as tu on tp.unidade = tu.codigo');
ADOQuery1.SQL.Add('where tp.fornecedor = :fornecedor');
ADOQuery1.SQL.Add('and produto LIKE :produto');
ADOQuery1.Parameters.ParamByName('fornecedor').Value := Form_OC.DBEdit2.Text;
ADOQuery1.Parameters.ParamByName('produto').Value := QuotedStr('%' + edit1.Text + '%'); |
obs: acho melhor acessar o valor pelo field do que pelo DBEdit ao qual está ligado
Espero que ajude.
Tentei da 1° maneira e deu certo obrigado
_________________
Assinatura: Salas comerciais em Guarulhos |
|
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|