GARANTIR DESCONTO

Fórum erro no SQL... #182950

18/09/2003

0

o que tem de errado aqui neste codigo.

query1.Close;
query1.SQL.Clear;
query1.SQL.Add(´SELECT * FROM NASCIMENTOS ORDER BY ´´´ComboBox1.ItemIndex´´´´);
query1.open;

estou tentando colocar uma ordem numa query
usando o componente combobox.
neste combo existe os itens

LIVRO
FOLHA
TERMO
NOME

quando eu clico em LIVRO o programa ordena por LIVRO
quando eu clico em FOLHA o programa ordena por FOLHA
quando eu clico em TERMO o programa ordena por TERMO
quando eu clico em NOME o programa ordena por NOME

mas está dando erro.
o que ten de errado aqui?
como é o código certo?


Anjomd

Anjomd

Responder

Posts

18/09/2003

Marcelo.c

Tente o seguinte:

No evento [b:dfaae07079]OnCloseUp[/b:dfaae07079] do Combobox:

var i: integer; s: String;
begin
  i:=ComboBox1.ItemIndex; // pega a pos. do item selecionado
  s:=ComboBox1.Items.Strings[i]; // Pega a String da posiçao i
  query1.Close; 
  query1.SQL.Clear; 
  query1.SQL.Add(´SELECT * FROM NASCIMENTOS ORDER BY ´+s); 
  query1.open; 
end;



Responder

Gostei + 0

19/09/2003

Adilsond

Imagino que os campos de sua tabela sejam:

LIVRO,FOLHA,TERMO,NOME --> nesta ordem, mas não necessário o mesmo nome

então o seu sql ficaria assim:
begin
  with Query1 do
    begin
      if Active then
         Close;
      SQL.Clear;
      SQL.Add(´SELECT * FROM NASCIMENTOS ORDER BY ´ + IntToStr(ComboBox1.ItemIndex + 1));
      Open;
    end;
end;



Responder

Gostei + 0

19/09/2003

Alessandramorena18

Tente isso.
:D
case ComboBox_Pesquisa.ItemIndex of
0 :xCampo:=´Campo1´;
1 :xCampo:=´Campo2´;
2 :xCampo:=´Campo3´;
3 :xCampo:=´Campo4´;
end;


SQLDataSet_SA1010.Close;
SQLDataSet_SA1010.Active := false;
SQLDataSet_SA1010.CommandType := ctQuery;
SQLDataSet_SA1010.CommandText := ´SELECT * FROM NASCIMENTO ORDER BY ´+ xCampo +´´;
SQLDataSet_SA1010.Open;


Responder

Gostei + 0

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

Aceitar