Ir para conteúdo
  • Cadastre-se

dev botao

Campo Calculado (Computed Source) Não Aceita Acento


  • Este tópico foi criado há 3148 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia, amigos.

Estou tentando criar o seguinte campo calculado no Firebird (Computed Source):

ALTER TABLE CONTAS_RECEBER ADD CR_OPERACAO 
COMPUTED BY (CASE WHEN (AR_CODIGO > 0)                            THEN 'Armazenagem'
				  WHEN (AFE_CODIGO > 0)           THEN 'Aluguel/Expurgo da Armazenagem'
				  WHEN (BA_CODIGO > 0)            THEN 'Pesagem'
				  WHEN (CF_NUM_CONHECIMENTO > 0)  THEN 'CTe'
				  WHEN (RECP_CODIGO > 0)          THEN 'Recálculo de Parcelas'
				  WHEN (LOC_CODIGO > 0)           THEN 'Locação Gerador'
				  WHEN (ADT_CODIGO > 0)           THEN 'Aditamento Gerador'
				  WHEN (MAN_CODIGO > 0)           THEN 'Manutenção Gerador'
				  WHEN (ENG_CODIGO_ANDAMENTO > 0) THEN 'Andamento Engenharia'
				  WHEN (ENG_CODIGO_ETAPA > 0)     THEN 'Etapa Engenharia'
				  WHEN (ENG_CODIGO > 0)           THEN 'Contrato Engenharia'
				  WHEN (NFS_CODIGO > 0)           THEN 'Nota Fiscal de Serviço'
				  WHEN (VEN_COD_PEDIDO > 0)       THEN 'Venda'
            ELSE 'Lançamento Manual' END)

O problema é que se eu deixar os acentos nas strings, dá erro na hora de executar o script. Se eu tirar todos os acentos, funciona normalmente e consigo criar o campo. Alguém saberia me dizer por que o erro ocorre e se existe uma forma de criar esse tipo de campo com os acentos? Obs: no meu banco, existem vários registros em várias tabelas que têm acento nos campos varchar e tudo funciona normalmente, só na criação desse campo calculado estou tendo esse tipo de problema.

Editado por leotelles
formatação
Link para o comentário
Compartilhar em outros sites

Não uso o Firebird, mas isso chama-se charset. Dê uma olhada nesse artigo. você saberá porque está dando erro com caracteres acentuados (português) .

http://www.firebase.com.br/artigo.php?id=1

Faça um pequeno cadastro lá, caso você não tenha, para exibir o artigo.

Se você não quiser fazer alterações em seu banco de dados, crie esse campo calculado diretamente no Delphi. No ClientDataset ou Query. Faça seu código CASE ou IF na propriedade OnGetText do campo criado.

 

Espero ter ajudado.

João Elson

Editado por joaoelson
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3148 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.