SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Visual Basic para principiantes => Mensaje iniciado por: graluc en Lunes 20 de Diciembre de 2010, 20:18

Título: Alguien sabe porque ....?
Publicado por: graluc en Lunes 20 de Diciembre de 2010, 20:18
Hola, soy nueva y quisiera su ayuda.
Estoy haciendo una agenda médica y necesito guardar mucho texto en uno de los campos de mi base de datos, hecha en Access y visual basic 6.0. Para hacerlo puse en un formulario varios textbox para :nombre, apellido,etc.(los datos personales), pero para describir las enfermedades(campo:Patología) necesito poder escribir mucho texto. En access al campo Patología le di tipo memo y en el form de vb utilicé un textbox con multiline en true.Hasta acá todo bien, guardo los datos, pero cuando vuelvo a abrir para continuar, solo guardó una parte de lo escrito . Alguien me puede decir que estoy haciendo mal ? Desde ya muchas gracias por la ayuda.
Título: Re: Alguien sabe porque ....?
Publicado por: tinieblillo en Viernes 11 de Marzo de 2011, 11:15
Cita de: "graluc"
Hola, soy nueva y quisiera su ayuda.
Estoy haciendo una agenda médica y necesito guardar mucho texto en uno de los campos de mi base de datos, hecha en Access y visual basic 6.0. Para hacerlo puse en un formulario varios textbox para :nombre, apellido,etc.(los datos personales), pero para describir las enfermedades(campo:Patología) necesito poder escribir mucho texto. En access al campo Patología le di tipo memo y en el form de vb utilicé un textbox con multiline en true.Hasta acá todo bien, guardo los datos, pero cuando vuelvo a abrir para continuar, solo guardó una parte de lo escrito . Alguien me puede decir que estoy haciendo mal ? Desde ya muchas gracias por la ayuda.
Yo te aconsejaria poner en vez de memo, que para consultar te puede dar quebraderos de cabeza, poner un campo Text y en el tamaño del campo asignarle 255 que ya es bastante grande( en permitir longitud cero, pondle si, por si acaso)
Título: Re: Alguien sabe porque ....?
Publicado por: graluc en Viernes 11 de Marzo de 2011, 20:35
Hola, probé lo que decís y cuando quiero agregar datos me dice que el campo es demaciado pequeño para los datos que deseo introducir.
De todas maneras, gracias por el interés.
Saludos
Título: Re: Alguien sabe porque ....?
Publicado por: chevaz en Domingo 13 de Marzo de 2011, 00:12
Hola  :D
La verdad no controlo del todo Access, pero creo que hay un tipo de dato llamado Text, en el que no le asignas un mínimo o máximo de carácteres, ¿puede que sirva para eso?

Disculpame si dije cualquier cosa  :lol:

Saludos y éxito  :hola:
Título: Re: Alguien sabe porque ....?
Publicado por: graluc en Lunes 14 de Marzo de 2011, 11:28
Hola,lo que cuenta es la voluntad de ayudar , así que gracias de todas formas.
Te cuento que en access se guardan bien los cambios que hago. El problema es con visual basic 6.0, en la caja de texto que tiene tipo memo en access, cuando trabajo desde el entorno de visual, no me guarda los cambios, pero "sí" los guarda desde access.No es el código del botón GUARDAR, porque los cambios en las otras cajas de texto (nombre, apellido,etc.) los guarda perfectamente. Aparentemente es un problema de tamaño, pero no sé como solucionarlo.
Espero que alguien sepa la causa, igual gracias por tu auda.
Saludos
Título: Re: Alguien sabe porque ....?
Publicado por: F_Tanori en Lunes 14 de Marzo de 2011, 12:18
Dices que si te guarda, y al reabrirlo en VB te muestra solo una parte? en la base de datos si esta completo el texto?
ademas del Multiline, Fijate en la propiedad ScrollBar del TextBox, esta configurada? configural en Vertical, es probable que el problema sea los saltos de linea

http://es.wikipedia.org/wiki/Salto_de_l%C3%ADnea (http://es.wikipedia.org/wiki/Salto_de_l%C3%ADnea" onclick="window.open(this.href);return false;)
http://es.wikipedia.org/wiki/Retorno_de_carro (http://es.wikipedia.org/wiki/Retorno_de_carro" onclick="window.open(this.href);return false;)

Saludos
Título: Re: Alguien sabe porque ....?
Publicado por: graluc en Martes 15 de Marzo de 2011, 11:30
Hola, yo también creo que el problema debe ser con el scrollbar.En mi proyecto tengo dos campos (Patología y Tratamiento)con tipo memo, multiline en true y scrollbar vertical. En el de Patología al ejecutar aparece la barra vertical inmediatamente y no tengo problema. En el de Tratamiento, la barra no aparece al principio, solo aparece cuando lleno el textbox,puedo seguir escribiendo sin problemas, pero después de guardar, cuando vuevo a abrir, solo guardó hasta una parte y el resto no aparece. Si abro desde Access, está todo, pero no se ve desde visual . Esto me pasa solo con el textbox Tratamiento, no con el de Patología. Revisé todas las propiedades y están iguales en las dos cajas de texto.No sé cual puede ser el error, si los textbox están configurados igual,¿por que uno funciona y el otro no?
Gracias por la respuesta. Ojalá ustedes sé den cuenta donde está la falla porque yo hasta ahora no pude.Seguiré revisando.
Gracias y Saludos
Título: Re:Alguien sabe porque ....?
Publicado por: mantisz22 en Miércoles 5 de Febrero de 2014, 19:11
Hola sabes yo tengo tu mismo problema encontraste alguna solución...
Título: Re:Alguien sabe porque ....?
Publicado por: Nebire en Viernes 24 de Octubre de 2014, 14:18
Bastante tarde, pero como no se ha puesto una respuesta correcta, lo hago ahora, para quienes vengan a consultar el mism oproblema.

El problema está en el propio control textbox. Este control limita el texto que admite a 64kb. de tamaño como máximo (aunque en longitud se ponga '0' caracteres).

La solución consiste en usar otro control sin este límite, por ejemplo el richtextbox.

Otra solución es usar internamente una matriz de tipo byte y volcar ahí el contenido desde y hacia la BD. el control textbox, sería la 'vitrina', el 'escaparate' donde el usuario puede consultar, editar el texto... pero requiere sincronizar el scroll del control textbox, para rescatar el bloque parcial que deba contener el textbox en cada momento... en resumen, a este caso tiene sentido crear un control de usuario, que resuelva todo esto de forma transparente a su uso, en vez de tener que implementarlo cada vez....