Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Spiritwalker

Conteúdo de campo memorando em txtBox

Recommended Posts

Saudações a todos.Programo em Access/VBA já há algum tempo, mas até então nunca havia utilizado campos do tipo "memorando". Ocorre que necessitei inserir o conteúdo de um campo memorando de uma das tabelas numa txtBox e, qual não foi minha surpresa quando observei que a maior parte do texto foi suprimida, aparecendo apenas os 255 caracteres iniciais.Imaginei que se tratasse de uma limitação das variáveis do tipo string, mas o problema persisitiu mesmo com variants. Decidi, então, dispensar qualquer variável e preencher a txtBox de acordo o valor selecionado numa lstBox (baseada numa consulta SQL), algo do tipo:txtBox = lstBox.Columm(3)Mas o problema continuou: a txtBox recebe apenas os 255 caracteres iniciais do conteúdo do campo memorando.Parece uma dúvida básica, mas alguém saberia me dizer como fazer para que apareça todo o conteúdo do campo desejado naquele componente?Desde já, agradeço a atenção dispensada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correto Edkardoso.255 caracteres é o limite de campos TEXTO em tabelas, mas não campos MEMORANDO (que supostamente comportam cerca de 64 000 caracteres, o mesmo limite de variáveis do tipo string e de componentes do tipo txtBox).Mas, na prática, está ocorrendo o que relatei: a exibição de apenas 255 caracteres.Em Delphi há um componente específico para armazenar textos gigantescos, maiores do que 255 caracteres, mas o que fazer a respeito no VBA/Access?Aceito sugestões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

~Desculpa, não tinha entendido direito sua dúvida. Eu tb programo em Delphi e sei ao q se refere. Contudo tenho diversos bd em access com campos memo, e eles com TODA ctz guardam mais que 255 caracteres. Fiz inclusive aqui agora um teste, contei 800 caracteres. Se seu tipo de campo realmente esta como memo é algo muito estranho. você não está usando algum código que esteja limitando o envio dos caracteres ? Ou alterando de forma programada o tipo de campo ? Tente realizar o teste em outra máquina. Já compactou e reparou esse mdb ? Qual a versão q está usando ? Enfim, fiquei intrigado com essa. Vms tentar juntos resolver. Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá de novo edkardoso:Obrigado pelo auxílio.Talvez eu não tenha me expressado bem.O campo memorando DA TABELA não possui nenhum problema. Ela comporta e exibe quantos caracteres forem necessários (até seu limite de quase 65 000 caracteres).O que eu desejo é exibir este campo memorando NUMA CAIXA DE TEXTO de um formulário, mas ainda que o Help do Access afirme que tal componente comporta essa mesma quantidade de caracteres (mais de 64 000), na prática, está exibindo um máximo de 255.Já tentei atribuir o conteúdo do memorando através de consultas, variáveis (strings e variants) e nada resolveu.Imaginava que seria uma limitação das variáveis, mas também o Help do Access afirma que elas podem comportar uma quantidade muito maior do que 255 caracteres.Então, qual o problema? Access macumbado? (hehehe)Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá..acho q isso talvez n ajude em nada, enfim..No Access, para q 1 campo Memorando (ou texto) ajuste-se automaticamente(inclusive no relatório) ao tamanho do texto, abra o formulário (ou o relatório) no modo "Estrutura",clique no campo c/ o botão direito do mouse e entre em "Propriedades" - "Formato";na linha "Pode ampliar" mude para "sim".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gostaria de comunicar aos colegas deste fórum que encontrei uma solução alternativa que acabou atendendo às minhas necessidades.Pesquisei muito sobre o assunto, e li em algum lugar (confesso que nem me lembro mais onde) que as consultas SQL não retornam registros com uma quantidade tão grande de caracteres, por isso limitam o conteúdo dos textos a 255, ainda que as variáveis do tipo string e variant, bem como componentes txtBoxes do Access não apresentem tal restrição.Diante disso, fui obrigado a declarar o formulário como tendo a "origem do registro" a própria tabela de dados; em seguida, especifiquei o campo memorando daquela como a "origem do controle" de uma caixa de texto.A partir daí, todo o conteúdo do campo memorando passou a ser exibido naquele componente, mas, como medida de segurança, efetuei o bloqueio da caixa de texto para que o usuário não altere seu conteúdo (ainda que de maneira acidental), ainda que ele seja liberado em operações de edição.Não era bem a solução que eu desejava, mas às vezes o improviso torna-se inevitável.Gostaria de agradecer ao apoio e a colaboração dos colegas que se empenharam em me ajudar e, em contrapartida, tentei oferecer um pouco dos meus conhecimentos em outras questões de interesse coletivo.Abraços a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.