Como montaria essa SQL?
Bom dia!
Estou com um grande problema e necessito de ajuda.
Bom o lance é o seguinte, tenho que realizar uma pesquisa, no form tenho 3 listbox.
A primeira contém três variaveis(Existe uma tabela no banco para elas): 1-Tijolo; 2-Adobe; 3-Taipa
A segunda contém três variaveis(Existe uma tabela no banco para elas): 1-Limpo; 2-Lixo orgânico; 3-Lixo inorgânico
A Terceira contém 2 variaveis(Existe uma tabela no banco para elas):
1-Lote escriturado; Lote não escriturado.
Como montaria uma SQL: O usuario pode selecionar uma variavel de uma listbox ou varias variaveis de varias varias listbox.
Espero não ter sido confuso, desde já agradeço.
Estou com um grande problema e necessito de ajuda.
Bom o lance é o seguinte, tenho que realizar uma pesquisa, no form tenho 3 listbox.
A primeira contém três variaveis(Existe uma tabela no banco para elas): 1-Tijolo; 2-Adobe; 3-Taipa
A segunda contém três variaveis(Existe uma tabela no banco para elas): 1-Limpo; 2-Lixo orgânico; 3-Lixo inorgânico
A Terceira contém 2 variaveis(Existe uma tabela no banco para elas):
1-Lote escriturado; Lote não escriturado.
Como montaria uma SQL: O usuario pode selecionar uma variavel de uma listbox ou varias variaveis de varias varias listbox.
Espero não ter sido confuso, desde já agradeço.
00seth
Curtidas 0
Respostas
Rafael Santana
06/01/2005
bom dia, amigo
qual banco de dados que vc usa? Quais os componentes de acesso TTable ou TQuery... responda isso pois assim fica melhor pra eu te ajudar...
qual banco de dados que vc usa? Quais os componentes de acesso TTable ou TQuery... responda isso pois assim fica melhor pra eu te ajudar...
GOSTEI 0
Lucas Silva
06/01/2005
Colega,
Seu título, não está de acordo com as regras de conduta.
Leia as regras antes de postar!
Seu título, não está de acordo com as regras de conduta.
Leia as regras antes de postar!
GOSTEI 0
00seth
06/01/2005
Desculpe-me pelo título Lucas,
Estou os Componentes da Paleta ADO.
Estou os Componentes da Paleta ADO.
GOSTEI 0
00seth
06/01/2005
Me esqueci de lhe dizer estou usando a Access mesmo
GOSTEI 0
Rafael Santana
06/01/2005
amigo, me desculpe, mas com esses componentes eu nunca trabalhei...
infelizmente eu não vou poder te ajudar...
vc não tem interesse em aprender um banco de dados mais sofisticado? eu só mexia com paradox aí resolvi mudar para interbase, foi um sucesso...rsrsr... uso componentes BDE e IBX
infelizmente eu não vou poder te ajudar...
vc não tem interesse em aprender um banco de dados mais sofisticado? eu só mexia com paradox aí resolvi mudar para interbase, foi um sucesso...rsrsr... uso componentes BDE e IBX
GOSTEI 0
Vprates
06/01/2005
Kra tenta isso aqui:
Var StrSQL, Field : String;
Cont : Integer;
Begin
StrSQL := ´SELECT CAMPOS FROM TABELA1, TABELA2, TABELA3´;
Field := ´´´I´´´ ;
for Cont:=0 to (Listbox.items.Count - 1) do
begin
If Listbox.Selected[Cont] then
field := field + ´, ´ + QuotedStr(Listbox.items.Strings[VlCont]);
End;
StrSQL := StrSQL + ´ WHERE CAMPO IN (´ + Field + ´)´;
ADOQuery.close;
ADOQuery.SQL.Text := StrSQL;
ADOQuery.open;
End;
qualquer duvida manda uma MP
Var StrSQL, Field : String;
Cont : Integer;
Begin
StrSQL := ´SELECT CAMPOS FROM TABELA1, TABELA2, TABELA3´;
Field := ´´´I´´´ ;
for Cont:=0 to (Listbox.items.Count - 1) do
begin
If Listbox.Selected[Cont] then
field := field + ´, ´ + QuotedStr(Listbox.items.Strings[VlCont]);
End;
StrSQL := StrSQL + ´ WHERE CAMPO IN (´ + Field + ´)´;
ADOQuery.close;
ADOQuery.SQL.Text := StrSQL;
ADOQuery.open;
End;
qualquer duvida manda uma MP
GOSTEI 0
00seth
06/01/2005
Obrigado.
Funciona mas ele seleciona todas que estão no intervalo de escolha,
mas eu preciso do seguinte:
Caso o usuario escolha a opçõe 1-Tijolo;
Quero que lista todas as casas de tijolos
Mas caso o usuario escolha as opções 1-Tijolo; 2-Adobe
Quero que liste todas as casas de tijolos e de adobe (AND)
preciso que a Query busque somente as casas de tijolos e adobe ao mesmo tempo, e não as casas que são de tijolo ou adobe
Grato!
Funciona mas ele seleciona todas que estão no intervalo de escolha,
mas eu preciso do seguinte:
Caso o usuario escolha a opçõe 1-Tijolo;
Quero que lista todas as casas de tijolos
Mas caso o usuario escolha as opções 1-Tijolo; 2-Adobe
Quero que liste todas as casas de tijolos e de adobe (AND)
preciso que a Query busque somente as casas de tijolos e adobe ao mesmo tempo, e não as casas que são de tijolo ou adobe
Grato!
GOSTEI 0
00seth
06/01/2005
up!
GOSTEI 0
Sydhnney
06/01/2005
essa é a lógica o resto é com vc
with ADOQuery1 do
begin
Close;
Sql.Clear;
Sql.Add(´select * from tabela where campoID like ¬´);
if ComboBox1.Text´´ then //diferente vazio
begin
Sql.Add(´and campo2 = ´tijolo´´)
end;
if ComboBox2.Text´´ then //diferente vazio
begin
Sql.Add(´and campo2 = ´adobe´´)
end;
if ComboBox3.Text´´ then //diferente vazio
begin
Sql.Add(´and campo3 = ´taipa´´)
end;
Sql.Add(´order by campo asc´)
open;
end;
with ADOQuery1 do
begin
Close;
Sql.Clear;
Sql.Add(´select * from tabela where campoID like ¬´);
if ComboBox1.Text´´ then //diferente vazio
begin
Sql.Add(´and campo2 = ´tijolo´´)
end;
if ComboBox2.Text´´ then //diferente vazio
begin
Sql.Add(´and campo2 = ´adobe´´)
end;
if ComboBox3.Text´´ then //diferente vazio
begin
Sql.Add(´and campo3 = ´taipa´´)
end;
Sql.Add(´order by campo asc´)
open;
end;
GOSTEI 0