Consulta por referencia que aceita numeros e letras!! urgent
Ola amigos. Estou mais uma vez pedindo o auxilio de vcs..
tenho esta procedure de consulta...banco Paradox
Tenho um comboBox q consulta por nome / codigo / referencia
a bronca esta na consulta por referencia...nao consigo q ele procure por numeros e letras. As referencias dos produtos podem ser numeros ou letras. ou os dois.. Do jeito q esta ai a baixo so procura por numeros..
qualquer ajuda sera de imenso valor.. Obrigado!!
procedure TfrmLocalizarproduto.edtProdutoChange(Sender: TObject);
var a,b,c: String; // declarei igual
begin
{ }
// vamos ver
if ComboBox2.Text=´Por Nome´then begin
QryProduto.SQL.Clear;
a:=´Select * From Produtos ´;
b:=´Where Descricao Like:Produtos ´;
c:=´Order By Descricao´;
qryProduto.SQL.Add(a+b+c);
qryProduto.Params[0].AsString;
qryProduto.ParamByName(´Produtos´).AsString:=uppercase(edtProduto.Text)+´¬´;
qryProduto.Close;
qryProduto.Open;
if qryProduto.RecordCount=0 then
Begin
ShowMessage(´Produto não encontrado!´);
end;
end else
if edtProduto.Text <>´´ Then begin
qryProduto.SQL.Clear;
a:=´Select * From Produtos ´;
b:=´Where Codigo =´+edtProduto.Text;
qryProduto.SQL.Add(a+b);
qryProduto.Close;
qryProduto.Open
end else begin
qryProduto.SQL.Clear;
a:=´Select * From Produtos´;
qryProduto.SQL.Add(a);
qryProduto.Close;
qryProduto.Open
end;
if ComboBox2.Text=´Por Referência´then begin
QryProduto.Active := False;
QryProduto.SQL.Clear;
a:=´Select * From Produtos ´;
b:=´Where Modelo Like ´ + QuotedStr(UpperCase(edtProduto.Text+´¬´));
qryProduto.SQL.Add(a+b);
qryProduto.Close;
qryProduto.Open;
if qryProduto.RecordCount=0 then
Begin
ShowMessage(´Produto não encontrado!´);
end;
end;
end;
tenho esta procedure de consulta...banco Paradox
Tenho um comboBox q consulta por nome / codigo / referencia
a bronca esta na consulta por referencia...nao consigo q ele procure por numeros e letras. As referencias dos produtos podem ser numeros ou letras. ou os dois.. Do jeito q esta ai a baixo so procura por numeros..
qualquer ajuda sera de imenso valor.. Obrigado!!
procedure TfrmLocalizarproduto.edtProdutoChange(Sender: TObject);
var a,b,c: String; // declarei igual
begin
{ }
// vamos ver
if ComboBox2.Text=´Por Nome´then begin
QryProduto.SQL.Clear;
a:=´Select * From Produtos ´;
b:=´Where Descricao Like:Produtos ´;
c:=´Order By Descricao´;
qryProduto.SQL.Add(a+b+c);
qryProduto.Params[0].AsString;
qryProduto.ParamByName(´Produtos´).AsString:=uppercase(edtProduto.Text)+´¬´;
qryProduto.Close;
qryProduto.Open;
if qryProduto.RecordCount=0 then
Begin
ShowMessage(´Produto não encontrado!´);
end;
end else
if edtProduto.Text <>´´ Then begin
qryProduto.SQL.Clear;
a:=´Select * From Produtos ´;
b:=´Where Codigo =´+edtProduto.Text;
qryProduto.SQL.Add(a+b);
qryProduto.Close;
qryProduto.Open
end else begin
qryProduto.SQL.Clear;
a:=´Select * From Produtos´;
qryProduto.SQL.Add(a);
qryProduto.Close;
qryProduto.Open
end;
if ComboBox2.Text=´Por Referência´then begin
QryProduto.Active := False;
QryProduto.SQL.Clear;
a:=´Select * From Produtos ´;
b:=´Where Modelo Like ´ + QuotedStr(UpperCase(edtProduto.Text+´¬´));
qryProduto.SQL.Add(a+b);
qryProduto.Close;
qryProduto.Open;
if qryProduto.RecordCount=0 then
Begin
ShowMessage(´Produto não encontrado!´);
end;
end;
end;
Hugojunior
Curtidas 0
Respostas
Luineumann
16/10/2003
no cadastro as referências estão em letra minúscula ou maiúscuça ...
no seu sql talvez fosse o caso de alterar
b:=´Where UpperCase(Modelo) Like ´ + QuotedStr(UpperCase(edtProduto.Text+´¬´));
e usar o uppercase também em modelo pois assim você garante que tanto o campo da tabela como o campo de pesquisa estão em maiúsculo
no seu sql talvez fosse o caso de alterar
b:=´Where UpperCase(Modelo) Like ´ + QuotedStr(UpperCase(edtProduto.Text+´¬´));
e usar o uppercase também em modelo pois assim você garante que tanto o campo da tabela como o campo de pesquisa estão em maiúsculo
GOSTEI 0