Tente assim: function ExibeDescricao(Alias, Tabela, CampoChave, CampoDescricao, Valor, Tipo: String; Numerico: Boolean): 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 Numerico then qryAux.Sql.Add(' WHERE ' + CampoChave + ' like ' + Chr(39) + Valor + Chr(39)) 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;
Porque na hora da chamada da função você sabe se o campo chave é numérico ou não. Acho que isso resolve seu problema. Nielsen -- <<<<< 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