Dúvida com Delphi e Access
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:
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...
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
Curtidas 0
Respostas
Powerlog Tecnologia
14/10/2007
Colega,
Não tem função case mas tem IIF. Veja uma das minhas selects básicas:
Veja se ajuda
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
GOSTEI 0
Vispo
14/10/2007
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!
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!
GOSTEI 0