Selección múltiple de datos para un solo campo.

Soy un novato en Access, sin embargo, estamos tratando de mejorar nuestras actividades de trabajo utilizándolo, y de verdad me ha resuelto muchas cosas; pero ya necesito ayuda.
Problema: Tengo en Access 2007 una base de datos que almacena consultas médicas. Para alimentar la tabla de datos diseñé un formulario mediante el cual el doctor introduce los datos que alimentan cada uno de los campos. El asunto es que necesitamos que el doctor que rellene el formulario escriba lo menos posible, es decir, que utilice muy poco el teclado. Entonces necesitamos que el formulario despliegue la mayor cantidad de listas de opciones posibles a seleccionar para completar los campos correspondientes de la tabla. Por ejemplo cuando el doctor llegue al campo del formulario correspondiente a "Enfermedades de los Ojos" no tenga que escribir con el teclado todas y cada una de las enfermedades del ojo que encuentre en el paciente, sino que rellene este campo desplegando una lista de opciones que contenga las posibles opciones en enfermedades de los ojos a agregar, a saber: Conjuntivitis, Pterigios, Catarata (ojo izq.), Catarata (ojo der.), Ptosis, Estrabismo, etc.
Yo había resuelto, en parte, este asunto con el uso de cuadros combinados para seleccionar las opciones, pero este procedimiento sólo me deja colocar en el campo una sola opción, y lo requerido es que se pueda escribir en el campo una o más de las opciones. Por ejemplo, en este campo de "Enfermedades de los Ojos" el paciente podría padecer una, o varias, de la enfermedades de la lista: puede padecer de Catarata (en ojo Izq. Y/o Der.) Pero también padecer de Estabismo y/o Conjuntivitis, y todas estas condiciones deben aparecer grabadas en el mismo campo, porque luego deben aparecer impresas en el informe de ese examen medico en el espacio (campo) Enfermedades de los ojos.
Yo se que para los expertos esto debe ser muy sencillo. Casi un chiste. Pero yo no he podido resolverlo.
Espero que Ustedes me puedan audar con algún ejemplo a resolver esto.

2 respuestas

Respuesta
1
Para lo que pretendes lo ideal seria un cuadro de lista, que si permite directamente la selección múltiple. Seria cuestión de mostrar el cuadro de lista en el momento que deseemos, (al hacer click en algún campo o botón por ejemplo)
Para un cuadro combinado no se me había presentado, pero mira esto:
Pongamos que tenemos el cuadro combinado con el nombre "cuadro1" y el campo de texto dónde queremos que nos aparezca lo que marcamos con el nombre "texto1"
En el evento al cambiar del "cuadro1" pondríamos:
Me.Texto1 = Me.Texto1 & Me.Cuadro1.Value
Esto nos juntaria todos los resultados para separarlos, por ejemplo, con una coma:
Me.Texto1 = Me.Texto1 & " , " & Me.Cuadro1.Value
Un saludo.
Mi Foro Mi Web Mi Blog
Gracias por tu pronta respuesta.
Dejame revisar si me funciona tu idea. Es que como ya mencioné, soy un novato absoluto y no se casi nada de programación ni se trabajar con código, pero siempre trato de aprender. Hago la prueba y pronto te aviso si me funciona. Gracias mil.
Hola lo intenté, pero me está dando el siguiente error:
"La expresión 'Al cambiar' que ha especificado como valor de la propiedad del evento produjo el error El objeto no contiene el objeto de automatización 'Me'. " y luego dice:
(")
*La expresión no da como resultado el nombre de un macro, de una función definida por el usuario o [Procedimiento de evento].
*Hubo un error al evaluar la función, procedimiento o macro.
(")
Como yo no se manejar muy bien las expresiones, seguro hice algo mal. Yo copie la expresión que me enviaste cambiando los nombres de los campos, y el generador de expresiones del evento "Al cambiar" me dejó lo siguiente:
=[Me].[Texto1]=[Me].[Texto1]&","&[Me].[Cuadro1].[Valor]
Esto lo que hace es que me coloca un solo de los textos en el campo (como antes) y, de inmediato, me aparece este error.
No se si es que debo cambiar o agregar algo más en la expresión. ¿Qué significa el [Me]?, ¿Tendrá equivalente en español? asi como Value = Valor.
Perdona mi gran ignorancia. Agradezco mucho tu ayuda.
Lo siguiente, puesto en el evento "después de actualizar" del cuadro combinado, funciona:
If Me.Texto2 = "" Then
Me.Texto2 = Me.cuadro1
Else
Me.Texto2 = Me.Texto2 & "," & Me.cuadro1
End If
Dónde Texto2 es el campo dónde queremos ir almacenado los datos y cuadro1 es el nombre del cuadro combinado. Como verás separo cada valor con una coma.
Respuesta

Y cómo puedo hacer para realizar una consulta y que me despliegue en un informe en la que el paciente tenga por lo menos una de las enfermedades de los ojos?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas