Fórum Dúvida com Delphi e Access #347318

14/10/2007

0

Colegas;
Minha aplicação acessa um banco de dados Access, quem trabalha com Access sabe que ele não possui a função CASE, intão eu achei um módulo na internet que implementa essa função, segue o link:

[url]http://ewbi.blogs.com/develops/2006/02/adding_case_to_.html[/url]

As funções funcionam perfeitamente se eu executá-las no próprio Access, soh que quando tento executar através do Delphi da a seguinte mensagem:

´Funcão CASESIMPLE indefinida da expressão´.

Estou usando um ADOQuery, da seguinte forma:

SELECT                
  NOMEFUNCIONARIO,    
  CASESIMPLE(SITUACAO,
    0, ´Ausente´, 
    1, ´Ativo´, 
    2, ´Demitido´) AS SITUACAO_FUNC
FROM                  
  FUNCIONARIOS


Será que o Access não permite que eu acesse as funções do módulo estando fóra do Access? Se for assim não via ter serventia nenhuma criar o módulo...


Vispo

Vispo

Responder

Posts

15/10/2007

Powerlog Tecnologia

Colega,

Não tem função case mas tem IIF. Veja uma das minhas selects básicas:

select n.*, c.descricao as descam, e.descricao as deseta, d.razao as desdis, r.razao as desrev, v.razao as desven, p.descricao as despro, p.codref, r.uf, 
n.quantidade * n.precovenda as precotot, n.quantidade * n.precovenda * n.porcenticms / 100 as valicms, iif (n.precoabaixo = 0, n.quantidade * n.qtdpremiov, 0) as qtdpremiotot, 
iif (n.precoabaixo = 0, n.quantidade * n.qtdpontosv, 0) as qtdpontostot
from ((((((vendas n
left join campanha c on n.codcam = c.codigo)
left join etapa e on n.codeta = e.codigo)
left join distri d on n.coddistri = d.codigo)
left join revenda r on n.codrevenda = r.codigo)
left join vended v on n.codvended = v.codigo)
left join produto p on n.codpro = p.codigo)
where  (...)


Veja se ajuda


Responder

Gostei + 0

15/10/2007

Vispo

Obrigado pela resposta [b:67fa3c5f5e]powerlog[/b:67fa3c5f5e],

eu ja uso o IIF em alguns casos, o CASE apenas ficaria mais legível quando se tem muitas condições para testar. Mas não deu muito certo esse lançe de modulo...entao vai o IIF mesmo :D

Abraço!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar