Access - problemas con formularios

 
Vista:

problemas con formularios

Publicado por Juan (21 intervenciones) el 07/01/2005 20:33:48
Hola a todos ,que tal?

Tengo un cuadro combinado en un formulario. Al seleccionar un valor del mismo hago que con una macro se me abra un segundo formulario.
Por ejemplo tengo los campos individual, asistencia, vida. Cuando le doy a individual y luego al botón la macro me abre un segundo formulario que tendria que rellenar y luego volver al formulario principal para seguir rellenando más campos.
Cada contrato sólo puede tener un ramo: individual, asistencia, vida, etc. y el número de contrato tendría que rellenarse en el 2º formulario. Tengo una tabla para el formulario contratos y otras para cada uno de los diferentes ramos.Se rellena el 2º formulario pero no queda grabado.
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
Imágen de perfil de Alejandro

Abrir y guardar datos en un segundo formulario desde un formulario principal

Publicado por Alejandro (4142 intervenciones) el 22/05/2023 19:01:52
1. Asegúrate de tener un campo en la tabla del formulario principal para almacenar el número de contrato.
2. En el evento "Después de actualizar" del cuadro combinado del formulario principal, agrega el siguiente código VBA para abrir el segundo formulario y pasar el valor seleccionado:
1
2
3
4
5
6
Private Sub cboRamo_AfterUpdate()
    Dim contratoID As Long
    contratoID = Nz(Me!cboRamo.Value, 0)
 
    DoCmd.OpenForm "SegundoFormulario", , , , , , contratoID
End Sub
3. En el segundo formulario, en el evento "Al cargar" del formulario, puedes utilizar el valor pasado para prellenar el campo correspondiente y mostrarlo al usuario:
1
2
3
4
5
6
Private Sub Form_Load()
    Dim contratoID As Long
    contratoID = Nz(Me.OpenArgs, 0)
 
    Me.txtContrato.Value = contratoID
End Sub
4. Asegúrate de tener un campo en la tabla del segundo formulario para almacenar el número de contrato y vincularlo correctamente en el diseño del formulario.
5. En el evento "Al cerrar" del segundo formulario, puedes guardar el valor del número de contrato en la tabla correspondiente:
1
2
3
4
5
6
7
Private Sub Form_Close()
    Dim contratoID As Long
    contratoID = Nz(Me.txtContrato.Value, 0)
 
    ' Actualiza la tabla con el número de contrato
    ' Ejemplo: DoCmd.RunSQL "UPDATE NombreTabla SET NumeroContrato = " & contratoID & " WHERE CampoID = " & Me.CampoID.Value
End Sub
Asegúrate de personalizar el código según los nombres reales de tus formularios, campos y tablas.

Con estos pasos, al seleccionar un valor en el cuadro combinado del formulario principal, se abrirá el segundo formulario y podrás ingresar el número de contrato. Al cerrar el segundo formulario, el valor se guardará en la tabla correspondiente para su posterior uso.
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