** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - cambiar texto de informe segun cuadro desplegable
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradocambiar texto de informe segun cuadro desplegable

 Responder Responder
Autor
Mensaje
Alcaudon Ver desplegable
Nuevo
Nuevo


Unido: 12/Noviembre/2019
Localización: argentina
Estado: Sin conexión
Puntos: 1
Enlace directo a este mensaje Tema: cambiar texto de informe segun cuadro desplegable
    Enviado: 12/Noviembre/2019 a las 06:19
Hola!

Primera pregunta oficial en este foro, aunq vengo leyendo hace meses en el mismo y siempre encuentro la solucion. Esta vez no se donde tengo el problema.

Paso a detallar:

Tengo una base de datos de Access 2007  en la cual almaceno informes de estudios medicos. En la misma arme un formulario para llenar los informes y despues se imprimen en formato PDF. En el formulario hay varios cuadros desplegables y al final un cuadro con texto libre para escribir los informes.

Uno de los campos a llenar es un cuadro desplegable con 4 opciones, y necesito que dependiendo la opcion que el medico escoje, se pegue un texto predefinido(editable) en el box de "texto libre".

Yo lo hice de la siguiente manera:

1) Arme una tabla procedimiento con 2 columnas, una con el nombre del estudio y la otra con el pre informe. imagenes:

2)Luego arme el cuadro desplegable:
utilizando como "rowsource" a mi tabla de procedimientos (recordemos que tenia 2 columnas pero en el formulario voy a mostrar solo una). 
como "control source" puse la tabla donde estoy guardando todos los registros del formulario.

3)En el evento "after update"(para que se active luego de elegir una opcion)  puse el siguiente c0digo:

Private Sub ESTUDIO_AfterUpdate()
Dim infprelim As String

infprelim = Me.ESTUDIO.Column(1)

    If Not IsNull(Me.INFORME) Then
            Me.INFORME = Me.INFORME & vbNewLine & infprelim
    Else
        Me.INFORME = infprelim
    End If
End Sub

Vale aclarar antes q nada, que soy un completo amateur en programacion. Lo q se lo aprendi haciendo esto, mirando el foro y algunos videos de youtube.

Lo que intente hacer con ese comando fue:
Si el combobox no esta vacio, entonces que el cuadro de texto "INFORME" se igual a lo que ya tenia(para q no me borre nada previamente escrito), que agregue una nueva linea y que pegue lo que aparece en la columna 1(seria la columna con el preinforme).

Como veran, es algo muy burdo pero funciona.

Ahora, el problema:

El sistema funciona, si cambio la opcion del combobox pega el preinforme. PERO SOLO PEGA 255 caracteres!!!
Eh ahi el problema y no se donde esta el error. en la tabla procedimientos esa columna esta como memo y esta guardado bien, pero cuando lo transfiere al cuadro de texto solo se copian 255 caracteres, dejandome el informe a la mitad.

Les pido ayuda para arreglar este entuerto, ya que no encuentro forma de hacerlo. Gracias!



Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 12/Noviembre/2019 a las 08:13
En un combobox/listbox una columna sólo almacena hasta 255 caracteres, así que te está haciendo lo correcto.

Una opción para conseguir lo que quieres es leer el campo que necesitas (con un Dlookup) en vez de anexar la columna.

infprelim = DLookup("MiCampo", "Mitabla", "Indics = " = Me.ESTUDIO)
.
.

Recuerda que si el índice es un campo de texto tendrás que encerrarlo entre comillas simples.

Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable