Access - Problemas con la selección de registros y filtros

 
Vista:

Problemas con la selección de registros y filtros

Publicado por Carlos (6 intervenciones) el 03/08/2006 01:16:56
Buenas de nuevo:
Tengo dos problemas:

EL PRIMERO:
Tengo un formulario (En columnas) , y un subformulario (hoja de datos).
El formulario tiene los siguientes campos: Código, Ncomercial, Nfiscal, Dirección, Comarca, Web, mail, telefonos.
El subformulario tiene: Código, Ncomercial, comarca, sector y empleados.

Mi duda es la siguiente:
Como puedo hacer para que al seleccionar cualquier registro del subformulario se me muestren todos los campos relacionados con ese registro en el formulario.

EL SEGUNDO:
En el mismo grupo de formularios anterior, tengo un grupo de opciones, cuatro concretamente.
Mi duda es la siguiente:
COmo puedo hacer para aplicar un filtro desde el grupo de opciones, para que filtre los registros del subformulario. Es decir:
Cuando haga clic en la opción 1 se muestres los registros de la comarca 1, al hacer clic en la 2 los de la 2 y así sucesivamente. Quiero aplicar el filtro al subformulario (hoja de datos), estando el grupo de opciones en el formulario.

Un saludo y gracias de antemano.
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

Vincular registros y filtrar con grupo de opciones

Publicado por Alejandro (4142 intervenciones) el 24/07/2023 18:53:54
¡Hola de nuevo, Carlos! Resolveremos tus dos problemas en Access:

EL PRIMERO:
Para mostrar todos los campos relacionados con el registro seleccionado en el subformulario en el formulario principal, debes configurar una relación entre ambos formularios y luego usar un enlace maestro-detalle.

1. Establece una relación entre el formulario principal y el subformulario basada en el campo "Código". Asegúrate de que ambos formularios tengan este campo en común.

2. Haz clic derecho en el subformulario y selecciona "Cambiar origen del control" (o "Change Control Source" si tu Access está en inglés).

3. En el cuadro de diálogo que aparece, selecciona la pestaña "Datos" (Data) y en el cuadro "Vínculo maestro" (Master Link Fields), elige el campo "Código" del formulario principal.

4. Luego, en el cuadro "Vínculo hijo" (Child Link Fields), selecciona también el campo "Código" del subformulario.

Ahora, cuando selecciones un registro en el subformulario, el formulario principal mostrará automáticamente los campos relacionados con ese registro.

EL SEGUNDO:
Para aplicar un filtro al subformulario desde el grupo de opciones, debes utilizar macros o código VBA.

1. Abre el formulario en modo de diseño.

2. Selecciona el grupo de opciones.

3. Haz clic en "Propiedades" (Properties) y selecciona la pestaña "Eventos" (Events).

4. Busca el evento "Después de actualizar" (After Update) y haz clic en el botón con tres puntos (...) para abrir el editor de VBA.

5. Dentro del editor de VBA, escribe el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub NombreDelGrupoDeOpciones_AfterUpdate()
    Dim filtro As String
 
    Select Case Me.NombreDelGrupoDeOpciones.Value
        Case 1
            filtro = "Comarca = 'Comarca1'"
        Case 2
            filtro = "Comarca = 'Comarca2'"
        Case 3
            filtro = "Comarca = 'Comarca3'"
        Case 4
            filtro = "Comarca = 'Comarca4'"
        Case Else
            filtro = "1=1" ' Muestra todos los registros si no hay opción seleccionada.
    End Select
 
    Me.NombreDelSubformulario.Form.Filter = filtro
    Me.NombreDelSubformulario.Form.FilterOn = True
End Sub

Asegúrate de reemplazar "NombreDelGrupoDeOpciones" y "NombreDelSubformulario" con los nombres reales de tus objetos en el formulario.

Este código utilizará el valor seleccionado en el grupo de opciones para aplicar un filtro en el subformulario según la comarca seleccionada.

Espero que esta información te sea útil. ¡Buena suerte!
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