Access - CONTROL FICHA

 
Vista:

CONTROL FICHA

Publicado por felix (15 intervenciones) el 08/01/2004 11:02:47
Hola, tengo un control ficha con dos paginas. cada pagina incluye una tabla, ambas tablas estan relacionadas. quiero que al activar la pagina 2, se haga un filtrado de registros dependiendo de un campo del registro activo en la pagina 1. ¿alguien me puede ayudar?
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

CONTROL FICHA

Publicado por Alejandro (4142 intervenciones) el 04/05/2023 16:18:54
Sí, Félix, es posible hacer lo que estás buscando utilizando eventos y código VBA en Access. Aquí te proporciono un ejemplo de cómo hacerlo:

1. Abre el formulario que contiene el control de ficha y selecciona la página 1.
2. Haz clic en la pestaña "Eventos" en el panel de propiedades del formulario y busca el evento "Al hacer clic" bajo "Enfoque".
3. Haz doble clic en el evento "Al hacer clic" para abrir el editor de código de VBA.
4. Agrega el siguiente código:

1
2
3
Private Sub Pagina1_Click()
    'Al hacer clic en la página 1, no se necesita hacer nada
End Sub

Este código simplemente indica que no se necesita hacer nada cuando se hace clic en la página 1.

5. Selecciona la página 2 y busca el evento "Al hacer clic" bajo "Enfoque".
6. Haz doble clic en el evento "Al hacer clic" para abrir el editor de código de VBA.
7. Agrega el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Pagina2_Click()
    Dim filtro As String
    Dim registroActivo As DAO.Recordset
 
    'Obtiene el registro activo en la página 1
    Set registroActivo = Me.Pagina1.Form.RecordsetClone
    registroActivo.FindFirst "ID = " & Me.Pagina1.Form!ID
 
    'Establece el filtro en la página 2 basado en el campo del registro activo de la página 1
    filtro = "CampoRelacionado = '" & registroActivo!CampoRelacionado & "'"
    Me.Pagina2.Form.Filter = filtro
    Me.Pagina2.Form.FilterOn = True
End Sub

En este código, primero se obtiene el registro activo en la página 1 y se busca en el formulario de la página 2 cualquier registro que tenga el mismo valor en el campo relacionado. Luego, se establece el filtro en la página 2 para mostrar solo los registros que cumplen con ese criterio.

Ten en cuenta que en este ejemplo, "CampoRelacionado" es el campo que se utiliza para relacionar las dos tablas. Deberás reemplazarlo con el nombre del campo que estás utilizando en tu base de datos.

Espero que esto te ayude a resolver tu problema.
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