Código
{foi colocado um combobox e na propriedade items coloquei os nomes que aparecem para o cliente selecionar. Num listBox mesma propriedade coloquei os campos da tabela (propriedade visible true). num Edit digitava o valor. Botão Adicionar para jogar os dados do combo e edit num outro listbox(propriedade visible true)
procedure TForm1.btnAdicionarClick(Sender: TObject);
begin
listBox1.Items.Add(ComboBox1.Text+'='+Edit4.Text);
campos.Add(ListBox2.Items.Strings[ComboBox1.ItemIndex]);
valores.Add(Edit4.Text);
listBox4.Items.Assign(campos);
listBox5.Items.Assign(valores);
end;
procedure TForm1.btnConsultarClick(Sender: TObject);
var i :integer;
var dia, mes, ano, data, hora : string;
begin
qryConsulta.sql.Clear;
qryConsulta.sql.add ('select distinct campo '+
'from tabela');
qryConsulta.sql.add ('where 1=1');
qryConsulta.Prepare;
qryConsulta.open;
for i:=0 to ListBox1.Items.Count-1 do
begin
if (listbox4.Items [I] = 'campo')then// campos char
begin
qryConsulta.sql.add('and '+ campos.Strings[i] +' like ''%'+ valores.Strings[i] +'%''');
end
else
if (listbox4.Items [I] = 'campo') then //campos integer
begin
qryConsulta.sql.add('and '+ campos.Strings[i] +' = '+ valores.Strings[i]);
end
else
if (listbox4.Items [I] = 'campo') then //campos datatime
begin
if copy(valores.Strings[i],3,1)= '/' then
begin
dia := copy(valores.Strings[i],1,2);
mes := copy(valores.Strings[i],4,2);
ano := copy(valores.Strings[i],7,4);
hora:= copy(valores.Strings[i],12,5);
data := ano +'-' + mes + '-' + dia + ' ' + hora;
end;
valores.Strings[i]:= data;
qryConsulta.sql.add ('and '+ campos.Strings[i] + ' = '+#39+ valores.Strings[i]+#39); //#39 como se fosse '
end;
qryConsulta.Open;
memo1.text := qryConsulta.SQL.Text;// somente para ver se o sql esta executando.
end;
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009