Cómo abrir un formulario con subformulario en registro específico?

Tengo un formulario "Form1" con un subformulario "Subform1"

Y otro formulario "Form2" con una lista basada en una consulta.

Al hacer doble clic en la lista, abre el Form1 en un registro específico, "Clave1", pero en el subormulario me muestra todos los registros asociados a esa clave.

En el subformulario tengo un campo llamado Detalle, y ese identifica a cada registro del subformulario.

En la consulta de la lista tengo identificados Clave1 y Detalle en las columnas 0 y 13 respectivamente.

¿Cómo puedo hacer para que el subformulario muestre el registro de acuerdo al Detalle específico?

Intenté sin éxito lo siguiente:

Private Sub ListaSolicitudes_DblClick(Cancel As Integer)
Dim idCve As Long
Dim idDet As Long
idCve = Me.Lista.Column(0)
    If idCve = 0 Then Exit Sub
idDet = Me.Lista.Column(13)
If idDet = 0 Then Exit Sub
DoCmd.OpenForm "Form1", , , "[Clave1]=" & idCve, acFormEdit
Forms!Form1!TabCtl31.Pages(1)!Subform1 = "Detalle=" & idDet & ""
End Sub

Cabe mencionar que el subformulario está en un control de fichas en la ficha 2 (es decir página 1)

1 Respuesta

Respuesta
1

Prueba a adaptar esto, que funciona correctamente a tu código(da igual en que página esté)

Private Sub Lista18_AfterUpdate()
Dim a As String, b As String
b = Me.Lista18.Column(13)
a = Me.Lista18.Column(0)
DoCmd.OpenForm "fcliente", , , "cliente='" & a & "'"
Forms!fcliente.DetalleCliente.Form.RecordSource = "select * from detallecliente where idcliente=forms!fcliente!idcliente and año= '" & b & "'"
End Sub

Lo que yo tengo por año lo tienes que poner como Detalle y lo que tengo como Cliente lo tienes que poner como clave 1

¡Gracias! Aunque ya había encontrado esa idea en internet, el recordSource era más complejo y no lo logré, así que tuve que replantear los formularios, pero gracias por tu tiempo!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas