MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Compartilhe

    miguel.serra
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 20/01/2011

    [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  miguel.serra em Dom 15 Mar 2015, 22:29

    Prezados, boa noite!
    Tenho uma tabela com um campo chamado HISTÓRICO, do tipo memorando em Rich Text , e preciso importa-la no Excel e deixá-la conectada lá.

    Quando importo a tabela, o campo vem cheio daquelas tags tipo html: "< d i v > ,   < d i v   a l i g n = c e n t e r > < f o n t   f a c e = " C o m i c   S a n s   M S " >" etc, e fica horrível.

    Para resolver, criei uma consulta para converter aquele campo em texto simples, da seguinte forma: HIST: Plaintext([HISTÓRICO])

    Ocorre que, na hora de importar pelo excel, a minha consulta não aparece na lista de consultas disponíveis para importar...

    Já tentei criar outra consulta para chamar a primeira, mas continua sem aparecer na lista do excel.

    O que posso fazer? Alguém teria uma ideia?

    Obrigado!!!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4471
    Registrado : 15/03/2013

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  ahteixeira em Qua 18 Mar 2015, 19:29

    Olá,
    Veja se ajuda:
    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]
    Abraço

    miguel.serra
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 20/01/2011

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  miguel.serra em Qui 19 Mar 2015, 16:25

    Olá, ahteixeira!

    Os links referem-se a conversão dos dados via VBA, porém, o que preciso é que o Excel receba os dados convertidos e fique online com o banco de dados...

    Segue um arquivo Access e outro Excel para ilustrar o problema
    Nele, existem três planilhas com tentativas de conexão dos dados e uma tabela dinâmica, que mostra o meu problema

    Vocês conseguiriam um apoio?
    Obrigado!

    Segue o link do Dropbox: [Você precisa estar registrado e conectado para ver este link.]


    Última edição por miguel.serra em Qui 19 Mar 2015, 16:34, editado 2 vez(es) (Razão : Anexei o arquivo via link)
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4471
    Registrado : 15/03/2013

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  ahteixeira em Qui 19 Mar 2015, 16:58

    Olá, não me parece fácil:
    a) Qual é aplicação que alimenta os dados no formato html Access ou Excel
    b) Os dados podem ser alterados quer por Access ou Excel?
    No aguardo

    miguel.serra
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 20/01/2011

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  miguel.serra em Qui 19 Mar 2015, 18:00

    Opa, vamos lá:
    A) Os dados todos são criados e editados diretamente em formulários no Access. O campo HISTÓRICO está em texto longo (memorando) com formatação RTF, o que produz as tags tipo html. Dentro do Access elas não aparecem, sendo convertidas em textos formatados (negrito, cores, itálico, sublinhado, fontes, etc)

    B) Não necessito que os dados sejam alterados no Excel. Utilizo este aplicativo apenas como um painel de controle, com várias tabelas dinâmicas que, quando clico duas vezes nos indicadores dela, o excel faz um extrato demonstrativo dos projetos e seus históricos. Só que os históricos não estão lá muito amigáveis para ler! rs
    Ah, e a formatação do RTF, embora fosse interessante, não é necessária no Excel.

    Sei que é possível programar via VBA para os dados serem reproduzidos sem as tags, porém, não seria um BD online, e eu teria de acionar o comando VBA toda hora para ter um painel de controle atualizado...

    Outra alternativa que cairia no mesmo problema de acionamento manual seria criar uma consulta do tipo união, que poderia criar uma tabela nova com os dados convertidos.

    Mesmo acionamentos automáticos por VBA com periodicidade programada não seria o mesmo que uma conexão online...

    Uma coisa que não entra na minha cabeça é porque o Excel não lista a consulta com o Plaintext na hora da importação do BD...


    Obrigado!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4471
    Registrado : 15/03/2013

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  ahteixeira em Qui 19 Mar 2015, 23:30

    Olá, uma vez que o acesso é do excel, veja este exemplo de conversão.
    Abraço
    Anexos
    teste2007_funcao_HtmlToText.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (14 Kb) Baixado 15 vez(es)

    miguel.serra
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 20/01/2011

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  miguel.serra em Qua 25 Mar 2015, 13:30

    Quase lá!

    A fórmula, de fato, funciona como se fosse o Plaintext dentro do Excel. Na planilha geral (conectada) criei uma coluna a mais denominada HIST com a fórmula =HtmlToText([@HISTÓRICO]) e dimensionei a tabela dinâmica para consultar também esta coluna. Porém deram dois problemas:

    1. Após o duplo clique no indicador da tabela dinâmica, o excel gera uma planilha de extrato normalmente, porém, a coluna HIST vem com valor 0 para 99% das células... Ou seja, não está convertendo os dados.

    2. Considerando que a tabela principal tem mais de 6.000 itens, cada atualização dos dados demora muito tempo

    Joguei o módulo HtmlToText dentro do Access, funcionou, no entanto, da mesma forma que o Plaintext: não lista na hora de importar pelo Excel...

    Mais alguma idéia?!

    Obrigado!!!

    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4471
    Registrado : 15/03/2013

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  ahteixeira em Qui 26 Mar 2015, 08:45

    Olá,
    O que pretende é que a tabela de dados de Access seja partilhada para edição quer no Acces, quer no Excel.
    Ainda no compreendi bem qual é o ficheiro de dados "master" que tem a origem da informação e a deve manter?

    Aparentemente tem duas soluções:
    1) Aplicação que grava os dados, passa a colocar em plaintext.
    2) encontrar forma de ver/alterar o texto em formato html, isto a partir do excel.

    Abraço

    miguel.serra
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 20/01/2011

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  miguel.serra em Qui 26 Mar 2015, 17:34

    Olá, amigo!

    Controlamos todos os projetos diretamente pelo Access. Mas a partir das últimas versões, ele não inclui mais a opção de tabela dinâmica, sendo indicado ser feito isto pelo Excel.
    É até melhor, porque o Excel é um pouco mais maleável com formatação e tratamento de dados.

    As ocorrências de projeto (campo HISTÓRICO) são anotadas dentro do Access em RTF, para que possam conter textos formatados.

    Importando os dados do Access para o Excel, consigo fazer a tabela dinâmica e obter os seus muito úteis extratos (aquele quando clicamos duas vezes nas estatísticas)

    O extrato demonstra todos os projetos, sua situação, e as ocorrências. Fica mais fácil para eu vê-las e tomar decisões rápidas. Mas as TAGs de HTML dificultam a coisa.

    O Access tem a fórmula Plaintext() que, com uma simples consulta, ele converte o RTF para texto simples. Ocorre que o Excel não consegue, não sei porque, importar a consulta com esta fórmula...

    Métodos programados para exportar os dados do Access em texto simples existem, mas, numa tabela com mais de 65.000 registros, cada conversão é muito demorada. E, ainda, para manter a tabela dinâmica do Excel sempre atualizada, necessitaria acionar com muita frequência a rotina de exportação, o que tornaria inviável.

    Criei uma solução paliativa que, após gerar o mencionado extrato, consigo limpar todas as TAGs. Fiz isto criando um menu de contexto que limpa tudo o que está entre os símbolos "<" e ">".
    O exemplo está neste arquivo: [Você precisa estar registrado e conectado para ver este link.]

    É paliativa porque remove tudo, não importando se o texto não RTF contiver estes símbolos. Ou seja, se alguém anotou algo que contenha estes símbolos, a fórmula suprimirá o texto ou dará erro.
    Semelhante ao símbolo apóstrofo ', que dá problemas rotineiros com o Access quando há interação de VBA com campos de texto que contenham este símbolo

    Enfim, tenho uma saída, mas se ela viesse direto do Access seria melhor...

    Muito obrigado!!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4471
    Registrado : 15/03/2013

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  ahteixeira em Sex 27 Mar 2015, 16:22

    Olá,
    De momento parece a melhor solução.
    Entretanto efectuei umas pesquisas, veja se ajuda:
    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]
    mais este para fazer a formatação:
    [Você precisa estar registrado e conectado para ver este link.]
    Abraço

    miguel.serra
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 20/01/2011

    Re: [Resolvido]Conectar Excel - Rich Text X Texto Simples: Fórmula Plaintext()

    Mensagem  miguel.serra em Sex 27 Mar 2015, 17:22

    Muito obrigado pelo apoio, ahteixeira!!! Colocarei o tópico como resolvido

    Interessante esta possibilidade de se transformar o código HTML em texto formatado dentro do Excel!
    O desafio seria criar um código vba para converter cada tipo de tag html


      Data/hora atual: Sab 21 Out 2017, 09:43