selecionar produtos d determinado fornecedor

Delphi

29/06/2011

Tenho um formulario de cadastro de pedido e utilizo uma dblookupcombobox para seleceionar o fornecedor, em seguida clico em uma stringgrid para listar os produtos, porem gostaria que o form me mostrasse somente os produtos do fornecedor selecionado no form anterior, estou usando a seguinte linha de codigo
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from TABELAPRODUTO where FORNECEDOR = ') + Form_OC.dblookupcombobox1.KeyValue;
ADOQuery1.Open;
  Porem ele da erro no codigo keyvalue, nao estou sabendo qual codigos usar
Daniel

Daniel

Curtidas 0

Respostas

Wilson Junior

Wilson Junior

29/06/2011

Que erro está ocorrendo? Qual a estrutura da sua tabela "TABELAPRODUTO"?

Aguardo retorno.
GOSTEI 0
Daniel

Daniel

29/06/2011

Que erro está ocorrendo? Qual a estrutura da sua tabela "TABELAPRODUTO"?

Aguardo retorno.
Incompatible types: 'string and integer' o banco de dados é o access
GOSTEI 0
Wilson Junior

Wilson Junior

29/06/2011

Teste assim:
ADOQuery1.SQL.Add('select * from TABELAPRODUTO where FORNECEDOR = ' + IntToStr(Form_OC.dblookupcombobox1.KeyValue) );


Espero ter colaborado.
GOSTEI 0
Daniel

Daniel

29/06/2011

Teste assim:
ADOQuery1.SQL.Add('select * from TABELAPRODUTO where FORNECEDOR = ' + IntToStr(Form_OC.dblookupcombobox1.KeyValue) );


Espero ter colaborado.
Kra deu modificada no codigo deixei ele deste jeito:
  ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from TABELAPRODUTO where FORNECEDOR = ' + Form_OC.DBEdit2.Text);
ADOQuery1.Open;
pois copiei os dados da dblookup para uma edit e nao estou pesquisando mais por codigo e sim por nome (isso foi uma alteração no meu banco de dados), porem qdo pesquiso o fornecedor MASTER SOLA ele da o seguinte erro 'Erro de sintaxe (operador faltando) na expressao de consulta 'FORNECEDOR = MASTER SOLA''.
 
GOSTEI 0
Wilson Junior

Wilson Junior

29/06/2011

Coloque assim
ADOQuery1.SQL.Add('select * from TABELAPRODUTO where FORNECEDOR = ' + QuotedStr(Form_OC.DBEdit2.Text));


Espero ter colaborado.
GOSTEI 0
Daniel

Daniel

29/06/2011

Coloque assim
ADOQuery1.SQL.Add('select * from TABELAPRODUTO where FORNECEDOR = ' + QuotedStr(Form_OC.DBEdit2.Text));


Espero ter colaborado.
Kra deu certo, muito obrigado pela ajuda
GOSTEI 0
POSTAR