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

 

Responder a