O problema é que eu não passo % para o valor e sim números ou letras.e
eu não consegui ver como eu colocaria esses % no valor.
-Mensagem original-
De: Prisma Sistemas - Moacir [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 22 de setembro de 2004 13:29
Para: [EMAIL PROTECTED]
Assunto: Re: [delphi-br] Duvida para fazer função
Eduardo,
Vc pode alterar para que a tua função verifique o parametro (valor). Se
contiver o % então é String..
ex.: Descricao:=ExibeDescricao('Alias', 'Tabela', 'CampoChave',
'CampoDescricao', '%teste%', 'Tipo');
ou
Descricao:=ExibeDescricao('Alias', 'Tabela', 'CampoChave',
'CampoDescricao', '123456', 'Tipo');
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 Pos('%', Valor)0 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;
- Original Message -
From: Eduardo Silva ® [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, September 22, 2004 1:06 PM
Subject: [delphi-br] Duvida para fazer função
Salve galera.
Galera, tenho a função abaixo que eu uso para exibir a descrição de um
valor string da tabela através de um campo chave.
Meu problema é que se eu uso na chave valores integer a função ta
legal,
mas se eu usar campos chave do tipo string eu tenho que colocar o nome da
tabela e alterar a linha de programação (if (Tabela = 'SINS0104') or
(Tabela
= 'SINS0304') then).
O que eu gostaria era de colocar uma coisa generica, independente do
campo chave ser integer ou string e fazer a pesquisa.
Alguém pode me dar uma mão ?
Obrigado desde já.
--
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]
Yahoo! Grupos, um serviço oferecido por:
--
Links do Yahoo! Grupos
a.. Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
b.. Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.749 / Virus Database: 501 - Release Date: 01/09/2004
[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