Consulta SQL com ListBOX
Bom Dia...
Tenho que consultar os dados de determinadas empresas que estão em um ListBox (De todas as empresas que possuo em meu cadastro, seleciono apenas algumas em insiro em um List Box). Como faço para gerar um relatório via SQL para todas as empresas que estão neste List BOX. Tentei através de um comando FOR, porém não funciona.
Tenho que consultar os dados de determinadas empresas que estão em um ListBox (De todas as empresas que possuo em meu cadastro, seleciono apenas algumas em insiro em um List Box). Como faço para gerar um relatório via SQL para todas as empresas que estão neste List BOX. Tentei através de um comando FOR, porém não funciona.
Gfcosta
Curtidas 0
Respostas
Imoreira
24/10/2003
Explique melhor o que você quer
GOSTEI 0
Claudio Quevedo
24/10/2003
Como você seleciona as empresas que você quer e como insere na listbox? Existe uma query para fazer essa seleção?
GOSTEI 0
Imoreira
24/10/2003
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
x: integer;
begin
with qry do begin
close;
with sql do begin
clear;
add(´select nome from dadospessoais where ´);
for x:=0 to listbox1.Items.Count-1 do begin
add(´nome = ´+(quotedstr(listbox1.items.strings[x])));
add(´ or ´);
end;
delete(sql.count-1);
end;
open;
end;
end;
Veja se isto serve.
var
x: integer;
begin
with qry do begin
close;
with sql do begin
clear;
add(´select nome from dadospessoais where ´);
for x:=0 to listbox1.Items.Count-1 do begin
add(´nome = ´+(quotedstr(listbox1.items.strings[x])));
add(´ or ´);
end;
delete(sql.count-1);
end;
open;
end;
end;
Veja se isto serve.
GOSTEI 0
Gfcosta
24/10/2003
Praticamente funcionou... Apenas ele repetiu o resultado bastante vezes...
Abaixo segue o código que utilizei, se possível gostaria que vc verificasse o que esta errado. (O único relacionamento é este mesmo CLIENTE COM CIDADE´)...
procedure TFrmGeraSelecao.GeraCompleto;
Var Cont: integer;
begin
With QryFone do
Begin
Close;
Sql.clear;
Sql.add(´SELECT CD_CLIENTE, DS_CLIENTE, DS_FONE1, DS_FONE2, DS_FAX, DS_CELULAR, CNPJ_CLIENTE, DS_LOGR, DS_NUMERO, DS_ENDERECO, DS_BAIRRO, DS_CIDADE, DS_ESTADO, IE_CLIENTE´);
Sql.add(´FROM CLIENTE, CIDADE´);
Sql.add(´WHERE CIDADE.CD_CIDADE = CLIENTE.CD_CIDADE´);
Sql.add(´AND ´);
For Cont:= 0 to LbEmpresas.Items.Count - 1 do
Begin
Sql.add(´DS_CLIENTE = ´+(quotedstr(LbEmpresas.items.strings[cont])));
sql.add(´OR´);
end;
sql.Delete(sql.Count -1);
Open;
end;
end;
Abaixo segue o código que utilizei, se possível gostaria que vc verificasse o que esta errado. (O único relacionamento é este mesmo CLIENTE COM CIDADE´)...
procedure TFrmGeraSelecao.GeraCompleto;
Var Cont: integer;
begin
With QryFone do
Begin
Close;
Sql.clear;
Sql.add(´SELECT CD_CLIENTE, DS_CLIENTE, DS_FONE1, DS_FONE2, DS_FAX, DS_CELULAR, CNPJ_CLIENTE, DS_LOGR, DS_NUMERO, DS_ENDERECO, DS_BAIRRO, DS_CIDADE, DS_ESTADO, IE_CLIENTE´);
Sql.add(´FROM CLIENTE, CIDADE´);
Sql.add(´WHERE CIDADE.CD_CIDADE = CLIENTE.CD_CIDADE´);
Sql.add(´AND ´);
For Cont:= 0 to LbEmpresas.Items.Count - 1 do
Begin
Sql.add(´DS_CLIENTE = ´+(quotedstr(LbEmpresas.items.strings[cont])));
sql.add(´OR´);
end;
sql.Delete(sql.Count -1);
Open;
end;
end;
GOSTEI 0