Ir ao conteúdo

VB6 + Access 2003 | Aumentando o limite de texto


wizard964

Posts recomendados

Postado

Eu fiz uma BD do VB6 para Access 2003 . Acontece que num dos formulários contém um espaço em o utlizador deverá especificar uma descrição sumária ou seja uma espécie de texto. Acontece que o utlizador não pode estar limitado com essa permissão de 255 caracteres. O que faço para poder alargar mais o limite de texto.

Postado

O Access limita o tamanho máximo de campos de texto para 255 caracteres. É necessário usar o campo do tipo "Memo".

Para ler e escrever nesse campo, use então os métodos GetChunk(...) e AppendChunk(...). Mais informações aqui

JP

Postado

Valeu pela dica...

So q tenho duvidas porque não tenho conhecimento do uso dessas técnicas. Na explicaçao falam de filesize e etc..

Enfim cá irei tentar ver se consigo.

Valeu...

Agradeciaria mais informações acerca do assunto

Postado

VB1.jpg

Na fig o texto termina sem mais nem menos. Eu acho q é por ter 255 caracteres ! Como tirar esse limite.

Sub Gravar()

On Error GoTo mm

Dim red As Boolean 'Variavel para verificar se determinado

'Codigo ja existe

red = False

conexao

r.Open "Select * from pagina2", b, adOpenStatic, adLockOptimistic

'Se o usuario Clicar em avancar os dados serao gravados em uma novaLinha

'se ele clicar em voltar e de novo em avancar criara uma nova

'linha com a mesma chave que a primeiara para evitar isso

'é necessario verificar se essa linha existe e se existir actualizar

'Se nao existir Criamos a linha

If r.RecordCount > 0 Then

r.MoveFirst

Do While Not r.EOF

If ID = r("Id") Then

red = True

Exit Do

End If

r.MoveNext

Loop

End If

If red = False Then

r.AddNew

r("ID") = ID

'Dando o codigo da tabela principal a uma tabela secundária

End If

r("Numero") = txt1.Text

r("Data") = txt2.Text

r("DesignacaoDoLocal") = txt3.Text

r("Provincia") = txt4.Text

r("Distrito") = txt5.Text

r("PostoAdministractivo") = txt6.Text

r("Localidade") = txt7.Text

r("Povoacao") = txt8.Text

r("Cidade") = txt9.Text

r("Vila") = txt10.Text

r("Municipio") = txt11.Text

r("EstradaNacionalNumero") = txt12.Text

r("EstradaSecundariaNumero") = txt13.Text

r("Latitude") = txt14.Text

r("Longitude") = txt15.Text

r("x") = txt16.Text

r("Y") = txt17.Text

r("DescricaoSumaria") = txt18.Text

If opt1.Value = 1 Then

'Se estiver selecionada a Opcao "Estrada nao Asfaltada"

r("EstradaNaoAsfaltada") = "X"

Else

r("EstradaNaoAsfaltada") = ""

End If

If opt2.Value = 1 Then

'Se estiver selecionada a Opcao "Caminho"

r("Caminho") = "X"

Else

r("Caminho") = ""

End If

If opt3.Value = 1 Then

'Se estiver selecionada a Opcao "Outro"

r("Outro") = "X"

Else

r("Outro") = ""

End If

If chk1.Value = 1 Then

'Se estiver selecionada a Opcao "Plutonico"

r("Plutonico") = "X"

Else

r("Plutonico") = ""

End If

If chk2.Value = 1 Then

'Se estiver selecionada a Opcao "Vulcanico"

r("Vulcanico") = "X"

Else

r("Vulcanico") = ""

End If

If chk3.Value = 1 Then

'Se estiver selecionada a Opcao "Metamorfico"

r("Metamorfico") = "X"

Else

r("Metamorfico") = ""

End If

If chk4.Value = 1 Then

'Se estiver selecionada a Opcao "Sedimentar"

r("Sedimentar") = "X"

Else

r("Sedimentar") = ""

End If

r.Update

desconexao

Exit Sub

mm:

erro

End Sub

Postado

O textbox na tela não aceita mais do que 255 caracteres também? Dê uma olhada na propriedade "MaxLength" dele. Deve estar setada com esse valor.

JP

Postado

Você pode usar uma técnica:

Você quer gravar um texto de 750 caractéres e só tem 255 na Em cada campo, E... Porque não dividir o texto em 3 partes?

Cod:

dim tamanho as integer

´Variavel para guardar o tamanho do texto

tamanho=len(Texto)

If tamanho<251 Then

r("Parte1")=texto

EsleIf tamanho<501 Then

r("Parte1")=left(texto,250)

r("Parte2")=Right(texto,tamanho-250)

Elseif tamanho<701 Then

r("Parte1")=left(texto,250)

r("Parte2")=left(Right(texto,500),250)

r("Parte3")=Right(texto,tamanho-500)

end if

e aí? para retirar os dados é só juntar os tres campos

Postado

Eu consegui gravar até 2500 caractéres usando essa técnica... , mas acho que... Faz o segunte cara, não muda nada no seu codigo, apenas mude o tipo de dados que voce está a usar no access para memo e aumente a propriedade "MaxLength" como disse fariajp, em memo pode suportar até cerca de 60.000 caracteres O seu cod irá funcionar assim como está

Quando estiver no acces, clique no lugar onde se altera o tipo de dados e pise em F1, para obter mais informações sobre tipos de dados

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!