GARANTIR DESCONTO

Fórum Como montaria essa SQL? #264370

06/01/2005

0

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.


00seth

00seth

Responder

Posts

06/01/2005

Rafael Santana

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...


Responder

Gostei + 0

06/01/2005

Lucas Silva

Colega,
Seu título, não está de acordo com as regras de conduta.

Leia as regras antes de postar!


Responder

Gostei + 0

06/01/2005

00seth

Desculpe-me pelo título Lucas,
Estou os Componentes da Paleta ADO.


Responder

Gostei + 0

06/01/2005

00seth

Me esqueci de lhe dizer estou usando a Access mesmo


Responder

Gostei + 0

06/01/2005

Rafael Santana

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


Responder

Gostei + 0

06/01/2005

Vprates

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


Responder

Gostei + 0

07/01/2005

00seth

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!


Responder

Gostei + 0

07/01/2005

00seth

up!


Responder

Gostei + 0

08/01/2005

Sydhnney

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;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar