Access - tbox en form que llenen las tablas segun condicion

   
Vista:

tbox en form que llenen las tablas segun condicion

Publicado por andresms15 (10 intervenciones) el 31/07/2010 07:31:50
Estimados!

Cómo están?. Espero, que muy bien!.

Tengo una consulta.. tengo una tabla1 que guarda los "tipos de tratamiento" que puede llevar un paciente (pueden ser varios a la vez).. y en otra tabla2 guardo las fechas.. para cada tipo de tratamiento.
En una fecha.. el paciente puede ir a varios tipos de tratamientos

Entonces tengo:

TABLA1
Nombre_paciente
ID_Tipo_Tratamiento (clave principal)
Tipo_tratamiento

TABLA2
ID_Tipo_tratamiento
Fecha

Lo que he hecho es un form, en donde me jala los datos de la tabla1 y en un subform aparecen todas las fechas por tipo de tratamiento, y el usuario de la BD va colocando la fecha en cada tratamiento.

Pero, lo q quiero es de alguna forma... escriba en un txtbox el nombre del paciente, le doy click a un boton y a todos los tipos de tratamiento... en la tabla2 se le agregue una fila con la fecha del dia.

¿Coómo podía hacerlo?. Espero sus prontas respuestas,

Gracias por la ayudas!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:tbox en form que llenen las tablas segun condic

Publicado por itoszan (40 intervenciones) el 04/08/2010 20:42:53
Hola.
Bueno , primero , creo que deberia cambiar el diseño de la base de datos , si mira bien , no puede con este diseño relacionar a los pacientes con un tratamiento en su repectiva fecha , le sugiero las siguientes 3 tablas
tblPacientes que tiene los campos:
IDPaciente
Nombre_Paciente

tblTratamientos con los campos:
IDTratamientos
NombreTratamientos

tblFechaTratamientos con los campos:
IDPacientes
IDTratamientos
Fecha

Ahora si se crea un formulario de captura de informacion, Con el asistente para formularios cree un formulario para la tabla tblPaciente ,despues elimine todos los que se crean automaticamente en el formulario y deje solamente el campo de Nombre_Paciente.
Despues cree un Combo combinado y si tiene el asistente , le mostrara un ventana que le da a escojer tres opciones , seleccione la tercera "Buscar un registro en el formulario segun el valor......." en la siguiente ventana seleccione la tabla tblpaciente ,en la siguiente ventana seleccione el campo IDPaciente ,siguiente ,siguinete y finalizar. Creo un cuadro combinado para seleccionar el codigo del paciente y vera que dependiendo del que escoja el nombre del paciente(del campo que dejo) varia.

Bueno ahora cree un subformulario (en el formulario que acaba de crear) y el asistente le mostrara un ventana ,seleccione la primera opcion "Usar tablas y consultas existente" , en la siguiente ventana seleccione todos los campos IDPaciente ,IDTratamientos y Fecha ,en la siguinete ventana deje la opcion por defecto y siguiente ,en la ventana final dele un nombre al subformulario y Finalizar.
Por ultimo cree un campo fecha , donde capture la fecha ,si quiere puede dejar la fecha del sistema por defecto Fecha().

Ahora. cree la siguiente consulta

INSERT INTO tblFechaTratamientos ( IDPaciente, IDTratamientos, Fecha )
SELECT [Forms]![frmCaptura]![cboPaciente] AS Paciente, tblTratamientos.IDTratamientos, [Forms]![frmCaptura]![txtFecha] AS Fecha
FROM tblTratamientos;

Esta consulta anexa la informacion a la tabla frmFechaTratamientos ,le pega todos los tratamientos con el paciente y la fecha que en ese momento tenga el formulario frmCaptura.

Cree una macro que ejecute esta consulta.(mcrAnexarFechaTratamiento)

Bueno ya casi para acabar cree el boton que ejecute la macro(btnActualizar) , pegue un boton y no utilice el asistente. En Hoja de Propiedades-------->Eventos---------Al hacer clic , copie el siguiente codigo ,que ejecuta la macro creada:

Private Sub btnActualizar_Click()
Dim stDocName As String
stDocName = "mcrAnexarFechaTratamiento"
DoCmd.RunMacro stDocName
End Sub

Para que se actualize correctamente cada vez que cambie de paciente en el combo ID paciente, en Hoja de Propiedades-------->Eventos---------Despues de actualizar afregue una linea mas con el comando RepintarObjeto y abajo en Tipo de objeto seleccione formulario y nombre de objeto frmCaptura.

Bueno creo que es todo , en el siguiente Link le publico el ejemplo anteriormente descrito para que lo mire y lo trabaje se llama "AnexarASubformulario" espero que le sirva.

http://cid-a2250775416d25f9.office.live.com/browse.aspx/.Public?uc=1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar