Se você trabalha com intranet e MS-SQL Server, acessando tabelas do Protheus via Web, já deve ter tido a necessidade de acessar campos tipo MEMO.
O que ocorre é que apesar de você criar o campo como tipo MEMO, o Protheus (Configurador) cria este no SQL Server como tipo IMAGE. Se você armazenar a frase "Teste observacao", no momento que você mostrar em sua página, vai aparecer um bocado de interrogações. Isto porque a frase fica gravada como: 0x5465737465206F62736572766163616F2E.
O conteúdo gravado no campo é binário. Para apresentá-lo, você pode usar a seguinte query (considerando que por exemplo uma tabela chamada SZT010 e um campo com o nome ZT_OBS):
SELECT CONVERT(VARCHAR(8000),CONVERT(BINARY(8000), ZT_OBS)) AS cZTOBS
FROM SZT010
WHERE ZT_DATA='20100106' AND ZT_FILIAL='02'
Ou seja, quando você mostrar cZTOBS, a frase será mostrada normalmente.
• Quem viu este post, também viu:
Listar campos das tabelas
Criando arquivos texto no Protheus
Excelente, estava precisando demais, já tinha desistido de usar campo MEMO com o Protheus.
ResponderExcluirObrigado :)
Ok! Estamos sempre buscando soluções para estes casos!
ResponderExcluirObrigado por acessar o blog.
Como faça para dar um update em campo memo?
ResponderExcluirOlá, para atualizar ou incluir dados num campo memo, use a funcção MSMM.
ExcluirVeja um tutorial na TOTVS em:
http://tdn.totvs.com/pages/releaseview.action?pageId=6814712
Agradecemos o contato!
Olá como eu faço para pegar uma data e horario atual e somar mais 5 utilizando o campo memo? Eu nunca usei essa função é a primeira vez que eu vejo falar e preciso usa-la
ResponderExcluirPrezado, para somar dias numa data basta você somar 5 a sua variável. Exemplo: dMinhaData = dMinhaData + 5.
ExcluirCampos do tipo MEMO, são usados para arquivar textos grandes.