Fórum criar uma pesuisa sql produtos #373519
13/08/2009
0
radiobuton(nome) edit(editbuscar) button(ok)
radiobuton(codigo)
(editcodigo1)DBLookupComboBox1(grupo)
(editcodigo2) DBLookupComboBox2(subgrupo)
grid
o formulario tem esses itens,mais ou menos nesse medelo, alguem poderia me dar uma ajuda?
Thiagoangra2
Curtir tópico
+ 0Posts
13/08/2009
Facc
Ficou meio vago sua duvida
Gostei + 0
13/08/2009
Vmlima
Caro colega...
é assim, vc terá que fazer uma consulta baesada no valor dos seus componentes
Assim:
var strsql : string begin strsql := ´select * from produtos where ´ if RadioBtnNome.Checked then strsql := strsql + ´ nome like ´´´¬´ + EditBuscar.Text + ´¬´´´ ; if RadioBtnCodigo.Checked then strsql := strsql + ´ codigo = ´ + EditBuscar.Text;´ strsql := strsql + ´ and grupo = DBlookupcomoboxGrupo.Text´; strsql := strsql + ´ and subgrupo = DBlookupcomoboxSubGrupo.Text´; end;
Coloque algo parecido com isso no seu botão ok
Att.
Gostei + 0
13/08/2009
Thiagoangra2
entao na verdade nau tda dando erro, eu to precisando fazer!
Gostei + 0
13/08/2009
Thiagoangra2
var strsql : string begin strsql := ´select * from produtos where ´ if RadioBtnNome.Checked then strsql := strsql + ´ nome like ´´´¬´ + EditBuscar.Text + ´¬´´´ ; if RadioBtnCodigo.Checked then strsql := strsql + ´ codigo = ´ + EditBuscar.Text;´ strsql := strsql + ´ and grupo = DBlookupcomoboxGrupo.Text´; strsql := strsql + ´ and subgrupo = DBlookupcomoboxSubGrupo.Text´; end;
ok, vo tentar fazer aki! abrigado!
Gostei + 0
13/08/2009
Vmlima
esqueci de falar que vc tem que colocar esse strsql no componente da consulta...
var strsql : string begin strsql := ´select * from produtos where ´ if RadioBtnNome.Checked then strsql := strsql + ´ nome like ´´´¬´ + EditBuscar.Text + ´¬´´´ ; if RadioBtnCodigo.Checked then strsql := strsql + ´ codigo = ´ + EditBuscar.Text;´ strsql := strsql + ´ and grupo = DBlookupcomoboxGrupo.Text´; strsql := strsql + ´ and subgrupo = DBlookupcomoboxSubGrupo.Text´; qry.close; // aqui que vc faz a consulta qry.sql.text := strsql; qry.open; end;
Gostei + 0
14/08/2009
Thiagoangra2
Gostei + 0
14/08/2009
Vmlima
Agora só falta vc colocar resolvido no tópico
:)
att.
Gostei + 0
14/08/2009
Thiagoangra2
xnome:string;
sql:string;
begin
if (rbnome.Checked=true) then
begin
xnome:=editbuscar.Text;
sql:=´select * from PRODUTOS where upper(nome) like:pnome´;
if editgrupo.Text <> ´´ then
sql:= sql + ´ and grupo= :pg´ + ´ and subgrupo= :psub´;
dm.cdsbpro.Close;
dm.cdsbpro.CommandText:=sql;
dm.cdsbpro.Params[0].AsString:=uppercase(xnome+´¬´);
if editgrupo.Text <> ´´ then
dm.cdsbpro.Params[1].AsString:=(editgrupo.Text);
if editsub.Text <> ´´ then
dm.cdsbpro.Params[2].AsString:=(editsub.Text);
dm.cdsbpro.Open;
end
else
if (rbcodigo.Checked=true) then
begin
dm.cdsbpro.Close;
dm.cdsbpro.CommandText:=´select * from PRODUTOS where codigo=:=pcodigo´;
dm.cdsbpro.Params[0].AsString:=(editbuscar.Text);
dm.cdsbpro.Open;
end
else
if (rbnome.Checked=false) and (rbcodigo.Checked= false) then
begin
messagebox(frmbuscapro.Handle,´Informe o tipo de busca!´,´infomation´, mb_OK+mb_iconinformation);
end
end;
Gostei + 0
14/08/2009
Vmlima
Bom tbm...
Mas agora só falta mesmo o [Resolvido] no tópico...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)