Access - Abrir form y subform

 
Vista:

Abrir form y subform

Publicado por Jose Luis (46 intervenciones) el 24/10/2001 13:33:09
Ante todo gracias por leer esto.
Bueno a ver si soy capaz de explicarme:
Tengo tres tablas "documentos" "paginas" y "revisiones" y estan relacionadas entre si. Tengo un formulario para "documentos" que tiene un subform para "paginas" y dentro de este otro subform para "revisiones". Esto es con el fin de que un documento puede tener varias paginas y una pagina varias revisiones.
Tengo creada una consulta de las tres tablas, consultando campos de las tres. Tambien tengo otro formulario "ver documentos" que refleja el resultado de la consulta en un formulario continuo, en este resultado se ve el numero de documento y las paginas que tiene, es decir:
documento 1 pagina 1
documento 1 pagina 2
documento 1 pagina 3
. Ahora el problema. En el formulario "ver documentos" he puesto un boton que me abre el formulario "documentos" segun el resultado de la consulta es decir si la consulta me da el documento "documento 1", le doy al boton y me abre el formulario "documentos" en la entrada "documento 1".
El codigo del boton
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "documentos"
stLinkCriteria = "[Ndocumento]=" & "'" & Me![Ndocumento] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

el problema es que si un documento tiene 5 paginas, tengo 5 botones pero con el codigo del boton solo me abre "documentos" segun el numero de documento y no puedo filtrarlo por paginas asi que siempre me enseña los datos de la primera pagina.
Yo necesito cambiar el codigo del boton de manera que me filtre el formulario "documentos" y tambien el subformulario "paginas"
Un saludo.
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 form y subform

Publicado por Alejandro (4142 intervenciones) el 19/04/2023 01:07:26
Para filtrar tanto el formulario "documentos" como el subformulario "paginas" en función del resultado de la consulta, debes modificar el código del botón de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
Dim stDocName As String
Dim stLinkCriteria As String
 
stDocName = "documentos"
stLinkCriteria = "[Ndocumento]=" & "'" & Me![Ndocumento] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
 
' Filtrar el subformulario "paginas" en función del número de documento
Forms("documentos").Form("paginas").Filter = "[Ndocumento] = " & Me![Ndocumento]
Forms("documentos").Form("paginas").FilterOn = True

Lo que hace este código es abrir el formulario "documentos" filtrando por el número de documento seleccionado en el formulario "ver documentos" y luego filtra el subformulario "paginas" en función del mismo número de documento. De esta manera, solo se mostrarán las páginas correspondientes al documento seleccionado en el formulario "ver documentos".
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