Busca ordenada

Delphi

30/09/2006

´Prescido de um filtro onde digito um número filtre somente ele tipo o que es tenho aki..
var
  A:integer;
begin
  A:=BD_VENDAGS_VEN_CODIGO.Value;
    with BD_VENDA_ITENS do
    begin
    Close;
    SQL.Clear;
    SQL.Add(´SELECT * FROM VENDA_ITENS´);
    SQL.Add(´WHERE UPPER(GS_ITEN_COD_ACES) LIKE:GS_ITEN_COD_ACES´);
    BD_VENDA_ITENS.Params[0].AsString := UpperCase(IntToStr(a)) + ´¬´;
    BD_VENDA_ITENS.Open;
  end;


quando digito ele vai me dando opções..tipo digito o 4, se tiver um 40 ele me mostra, más eu presciso que me mostre somente o 4 ...tem como fazer isto..digito o 10 vem só o 10, digito o 1 vem só o um tem como ? vlwt+


Gigatel

Gigatel

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

30/09/2006

´Prescido de um filtro onde digito um número filtre somente ele tipo o que es tenho aki..
var
  A:integer;
begin
  A:=BD_VENDAGS_VEN_CODIGO.Value;
    with BD_VENDA_ITENS do
    begin
    Close;
    SQL.Clear;
    SQL.Add(´SELECT * FROM VENDA_ITENS´);
    SQL.Add(´WHERE UPPER(GS_ITEN_COD_ACES) LIKE:GS_ITEN_COD_ACES´);
    BD_VENDA_ITENS.Params[0].AsString := UpperCase(IntToStr(a)) + ´¬´;
    BD_VENDA_ITENS.Open;
  end;
quando digito ele vai me dando opções..tipo digito o 4, se tiver um 40 ele me mostra, más eu presciso que me mostre somente o 4 ...tem como fazer isto..digito o 10 vem só o 10, digito o 1 vem só o um tem como ? vlwt+


claro, remova o ´¬´ do final da linha e pronto... :wink:


var
  A:integer;
begin
  A:=BD_VENDAGS_VEN_CODIGO.Value;
    with BD_VENDA_ITENS do
    begin
    Close;
    SQL.Clear;
    SQL.Add(´SELECT * FROM VENDA_ITENS´);
    SQL.Add(´WHERE UPPER(GS_ITEN_COD_ACES) LIKE :GS_ITEN_COD_ACES´);
    BD_VENDA_ITENS.Params[0].AsString := UpperCase(IntToStr(a));
    BD_VENDA_ITENS.Open;
  end;

:!: Se a pesquisa é para encontrar numeros, ou seja, valores exatos não há a necessidade de usar o [b:f8f37dbaa6]LIKE[/b:f8f37dbaa6] pode-se simplesmente usar o sinal de atribuição IGUAL assim:
var
  A:integer;
begin
  A:=BD_VENDAGS_VEN_CODIGO.Value;
    with BD_VENDA_ITENS do
    begin
    Close;
    SQL.Clear;
    SQL.Add(´SELECT * FROM VENDA_ITENS´);
    SQL.Add(´WHERE UPPER(GS_ITEN_COD_ACES) =:GS_ITEN_COD_ACES´);
    BD_VENDA_ITENS.Params[0].AsInteger := A;
    BD_VENDA_ITENS.Open;
  end;


espero ter ajudado :wink:

:idea: Normalmente usamos o Like + ´¬´ no final da linha para que seja retornado todos os registros que começam com os dados informados. Por exemplo: quero encontrar todas os registro que começam com M então digito M, quando executar a pesquisa ele me retornará todas os registro que iniciam com essa letra...


GOSTEI 0
Gigatel

Gigatel

30/09/2006

Cara foi de uma grande ajuda vlw mesmo...


GOSTEI 0
POSTAR