Cómo Agregar/Editar registros desde un subformulario?

Tengo 3 tablas: Solicitudes, Detalles_Solicitudes, Prestamos

Con los campos:

Solicitudes: Id_Solicitud, Descripción, Nombre

Detalles_Solicitudes: Id_Detalle, No_Prestamo, Id_Solicitud

Prestamos: No_Prestamo, Monto, Moneda

La relación es varios a varios entre Solicitudes-Prestamos, es decir uno a varios de Solicitudes-Detalles_Solicitudes y uno a varios de Prestamos a Detalles_Solicitudes.

Ahora, tengo un formulario Altas con el subformulario Detalles_Altas y lo que pretendo es lo siguiente:

En Altas capturo solicitudes nuevas llenando los datos Id_Solicitud, Descripción y Nombre y en el subformulario (tengo una consulta con los campos Id_Detalle, No_Prestamo, Id_Solicitud, No_Prestamo, Monto, Moneda) quiero enlazar los préstamos.

Si no existe el préstamo guardar el nuevo registro, tanto en Prestamos como en Detalles_Solicitudes

Si ya existe el No_Prestamo que muestre los datos existentes, y si es necesario, se puedan editar.

En concreto, la idea es agregar o actualizar las tablas Prestamos y Detalles_Solicitudes desde el subformulario directamente

Nota. No tengo problema para enlazar el formulario con el subformulario y cuando es nuevo registro de préstamo lo guarda pero aunque los datos se guardan, antes me sale un mensaje de que Access dejó de funcionar y se va a reiniciar.

1 respuesta

Respuesta
1

En el evento "Al no estar en la lista" del cuadro combinado "No_Prestamo" del subformulario, le generas este código:

Private Sub No_Prestamo_NotInList(NewData As String, Response As Integer)
Response = acDataErrContinue
Me.No_Prestamo.Undo
DoCmd.OpenForm "Prestamos", , , , acFormAdd, acDialog
Me.No_Prestamo.Requery
Me.No_Prestamo = DMax("No_Prestamo", "Prestamos")
Me.Monto.SetFocus
End Sub

Tendrás que crear un formulario sobre la tabla Prestamos llamado "Prestamos" (si le pones otro nombre, se lo has de cambiar en el código)

De esta manera si el préstamo no existe, al poner cualquier valor en el cuadro combinado se te abrirá el formulario Prestamos para añadir el préstamo y al cerrarlo se te cubren los datos en el subformulario. Si ya existe, al seleccionar uno, ya se te cubren los datos.

En ambos casos, podrás modificarlo directamente desde el subformulario.

Te adjunto un ejemplo: http://www.filebig.net/files/JGrP6gFyDs 

Pero no es posible registrar sin abrir un formulario para hacerlo? Es decir, quisiera registrar directamente desde el subformulario...

Después de muchas vueltas, lo he conseguido.

Te resubo el ejemplo con la consulta y el formulario y subformulario funcionando (son Altas2 y Detalles_Altas2): http://www.filebig.net/files/4PSyVxgdYb

Lo curioso es que ahora también funciona bien el ejemplo anterior sin necesidad de que intervenga el código, es decir, sin necesidad de seleccionar en el combo el ptmo

Si no necesitas ninguna aclaración adicional, te agradecería que valorases la respuesta, para darla por finalizada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas