O problema
Estou trabalhando em um banco de dados no MS Access 2010 contendo basicamente texto.
Cada um dos meus cerca de 4000 registros tem um memorando com um texto de cerca de 2000-4000 caracteres. Durante um longo período de tempo tenho destacado variuos partes desses textos aplicando a ele, em um campo de formulário, coisas como "negrito" ou "destaque amarelo" ou "sublinhado" e assim por diante. Isso funcionou bem.
Agora, o problema: de repente, nos registros mais antigos, a formatação não é mais exibida como pretendido. Em vez disso, vejo as respectivas tags html, como <b>, <u>, <BACKGROUND COLOR =...>, <div></div>
e assim por diante.
Portanto, a marcação não está perdida. Até parece saudável (todas as tags de fechamento estão lá). Mas o Access não exibe mais corretamente (negrito, amarelo, lista de marcadores, etc.)
Por outro lado, os registros com os quais trabalhei recentemente ainda estão bem formatados em RTF como deveriam.
A questão
Preciso de conselhos sobre o que eu poderia fazer para que o Access reconheça o html corretamente e use-o para exibir recursos gráficos. Alguma forma de operações de string? Alguma forma de reimportação?
Documentação
Aqui está um exemplo de um desses registros que não é exibido corretamente:
Detalhesimportantes:oqueeleschamamde"RTF" é, na verdade, HTML
Note que eu fiz tudo exclusivamente no MS Access 2010. Toda a marcação é definida por mim pessoalmente (não há marcação importada), e toda essa marcação é realmente HTML. No entanto, definir o campo table e as propriedades do campo de formulário para o uso de HTML significa defini-las para o que elas ainda chamam de "RTF". Obviamente, eles não se incomodaram em renomeá-lo. De tudo o que eu sei, nenhum RTF "real" está envolvido, é tudo HTML.
Alterações recentes
Eu não tenho ideia do que causou isso. Eu tenho feito ultimamente muitas operações, especialmente importando outros 1000 registros de uma fonte externa, e algum trabalho adicional na programação VBA do banco de dados. Eu não acho que a importação ou a programação VBA tenha causado ele problenm.
Um possível culpado
No entanto, uma coisa que pode estar relacionada é: durante minhas várias atividades recentes no banco de dados, reconheci que na tabela que contém todos os registros (t01_main) o campo que deveria ter o texto formatado (fiedl chamado [SummaryRTF] ) não foi definido como "RTF" (consulte a nota acima; significa HTML), mas como "texto simples".
Estranhamente isso até agora não foi um problema. O campo de formulário que exibe o texto e onde eu faço a formatação foi definido como "RTF" (ou seja, HTML) de qualquer maneira. Eu não tive nenhum problema com a formatação naquele momento.
Em seguida, ajustei a propriedade do campo da tabela para "RTF" (leia-se: HTML).
Eu acredito strongmente que isso é o que agora causa o problema. Eu suponho, certas alterações foram feitas no texto durante essa etapa.
Então, novamente a pergunta
A pergunta é: o que posso fazer agora para restaurar minha boa formatação, com base no html que obviamente ainda é mantido em campo?
Talvez seja bom saber
- Eu tenho backups das fases do meu trabalho e poderia, se isso ajudar, importar de lá dados "saudáveis" mais antigos - (do campo da tabela com
property: plain) no mesmo campo na última versão da minha tabela (com os dados agora "ruins", onde o mesmo campo é "rtf")
- Eu posso trabalhar com o VBA para fazer operações de string ou qualquer outra, ou fazer consultas SQL por meio do VBA
- Mas, claro, quanto mais rápida a solução, melhor
Adendos
1) Eu agora verifiquei em uma versão de backup do banco de dados (com o campo na tabela definida como "texto simples"). Aqui, na exibição de tabela, o texto também possui tags html; no entanto, no campo de formulário (definido como "RTF"), ele exibe um bom formato (negrito, amarelo, etc.)
2) Eu verifiquei - em uma versão de backup - o que acontece quando você altera a configuração do campo tabulado de "Formato de texto: texto simples" para "Formato de texto: RTF". O Access 2010 exibe um alerta da seguinte maneira: