primeiro, implemente a função abaixo (fiz agora, portanto não testei) function IsNumber(const Value:String):Boolean var i:Integer; resultado:Boolean; function Test(const Value:Char):Boolean; begin result:=Value in ['0'..'9']; end; begin resultado:=TRUE; for i:=1 to Length(Value)do if not Test(Value[i]) then begin resultado:=FALSE; Break; end; result:=resultado; end
depois, faça as seguintes modificações no seu código ... function ExibeDescricao(Alias, Tabela, CampoChave, CampoDescricao, Valor, Tipo: String): String; var qryAux: TQuery; begin Result := ''; try if Valor <> '' then begin qryAux := TQuery.Create(nil); qryAux.DataBaseName := Alias; qryAux.Close; qryAux.Sql.Clear; qryAux.Sql.Add('SELECT ' + CampoChave + ',' + CampoDescricao); qryAux.Sql.Add(' FROM ' + Tabela); if not IsNumer(Valor)then qryAux.Sql.Add(' WHERE ' + CampoChave + ' like ' + QuotedStr(Valor+'%')) else qryAux.Sql.Add(' WHERE ' + CampoChave + ' = ' + Valor); qryAux.Open; if qryAux.IsEmpty then Messagebox(Application.handle,'Valor não encontrado !','Atenção',MB_OK or MB_ICONWARNING) else Result := qryAux.FieldByName(CampoDescricao).AsString; end; finally qryAux.Free; end; end; Boa Sorte ! "Três salvas aos bons livros. São o deleite dos sábios, a educação dos ignorantes e os verdadeiros feitos de nossa raça: Os Seres Humanos" Vitor Luiz Redes ------------------------------------ Redsystem Informática [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html