¿Campos combinados y autocompletar en diferentes formularios?

Soy medico y me estoy haciendo una historia clínica y descubrí la maravilla de access (básico...) y estoy trabado.

Creé 3 tablas: ENCABEZADO: datos fijos del paciente (nombre, edad, obra social, peso, etc); CONSULTAS: con los datos de la consulta (fecha, motivo, examen físico, etc); y ESTUDIOS: datos de estudios complementarios (ecografía, radiografías, laboratorio, etc). Y a cada tabla le hice su formulario para hacer más fácil el ingreso de datos

c

Como pueden ver, al final del formulario ENCABEZADO agregue 3 comandos para abrir los otros dos formularios y otro para finalizar el programa.

La Pregunta: ¿Cómo hago para que al abrir los otros dos formularios se autocompleten el nombre del paciente y queden asociadas las consultas y los estudios a dicho paciente?

Gracias anticipadas a todos los que me ayuden, hace 4 meses que estoy trabado

1 Respuesta

Respuesta
1

Una opción sería que en el evento "Al cargar" de cada uno de los formularios CONSULTA y ESTUDIOS, le generes un código de este estilo:

Private Sub Form_Load()

Me.IDPaciente=Forms("ENCABEZADO").IdPaciente

End Sub

Lógicamente, tendrás que tener relacionadas las tablas, existiendo en CONSULTAS y ESTUDIOS un campo (IDPaciente en el código de ejemplo) por el que se relacionen con ENCABEZADOS.

Otra forma de hacerlo sería insertando los formularios CONSULTA y ESTUDIOS como subformularios de ENCABEZADOS, con lo que (si tienes las tablas correctamente relacionadas) ya te quedan los registros enlazados. Si utilizas un control Pestañas, te quedará visualmente "muy profesional".

Un saludo


¡Gracias! Sveinbjorn El Rojo. Voy a intentar con la 2da opción (ya que no entiendo la primera). Las tablas están relacionadas con el nombre del paciente 1 a 1

Te explico con más detalle la primera opción:

Abres el formulario CONSULTAS en vista diseño y sacas sus propiedades haciendo click con el botón derecho del ratón.

Vas a la pestaña "Eventos" y buscas "Al cargar"

En el desplegable de esa linea seleccionas "[Procedimiento de evento]" y pulsas el botçón con los 3 puntos de la derecha

En el editor de VBA que se te abrirá, entre las lineas Private Sub... y End Sub, escribes:

Me.Nombre=Forms("ENCABEZADO").Nombre

El primer Nombre es el nombre del cuadro de texto del formulario CONSULTAS en el que tienes el nombre del paciente (tendrás que cambiarlo por el que tu tengas si no es ese).

El segundo Nombre es el nombre del cuadro de texto del formulario ENCABEZADO, que si no es ese, también lo tendrás que cambiar por el que tengas.

hola, yo de nuevo. Hice lo que me dijo Sveinbjorn El Rojo y funciona, al abrir los formularios CONSULTAS y ESTUDIOS aparecen con l nombre del paciente, pero no me deja guardarlos, me aparece lo siguiente

alguna ayuda?

Te falta completar esos campos, el primer caso intuyo que es el campo por el que se relacionan las tablas, y el segundo es un campo clave principal, que no puede ser nulo. . Puedes hacerlo en el mismo evento con el que le pasas el nombre.

pero eso es lo que quiero que haga el programa ( no se si se puede) : que se autocompleten los campos PACIENTE de las tablas y formularios CONSULTAS y ESTUDIOS al escribir al nombre en el formulario ENCABEZADO

A ver, es lo que te intento decir: si para pasar el contenido del campo Nombre de un formulario a otro haces:

Me.Nombre=Forms("ENCABEZADO").Nombre

Para pasar el contenido del campo Paciente harás:

Me.Paciente=Forms("ENCABEZADO").Paciente

Y así con todos.

Yo el código exacto que necesitas no te lo puedo dar por varios motivos:

1º/ No tengo tu BD

2º/ No conozco los nombres de los campos de las tablas más allá de los 3 o 4 que mencionas (y ninguno es Paciente)

3º/ No conozco los nombres de los controles de tus formularios (aunque supongo que se llaman igual que los de las tablas)

4º/ No conozco cómo tienes relacionadas entre sí las tablas (por qué campos y de qué tipo son).

Dicho esto, no tengo problema en hacertelo yo si me quieres pasar una copia de tu BD.

¡Gracias! intentare hacerlo y te aviso

Hola Sveinbjorn El Rojo, no puedo hacer funcionar estos formularios. ¿Tu podrías revisarlos?

Sí, sube aquí (vía dropbox, filebig...) un enlace a una copia de tu BD, o envíamela (comprimida en zip o rar) a: [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas