La Web del Programador: Comunidad de Programadores
 
    Pregunta:  18901 - SELECCIONAR UN REGISTRO DENTRO DE UN SUBFORMULARIO
Autor:  PAU RUCABADO PALOMAR
He creado un formulario con un subformulario que se ve en Hoja de Dados en su interior. Deseo buscar un registro concreto dentro del subformulario y que me coloque el enfoque en él, pero desde un evento del formulario y no quiero utilizar filtros ni vincular los subformularios.

Alquien me puede ayudar.

Un saludo

  Respuesta:  Miguel Arguedas
Colega,

Hay dos formas de hacer esto:

1. Primero deberías cambiar el subformulario a la modalidad de Furmularios Continuos y darle el formato de Hoja de datos si te parece este un estilo a tu gusto. (puedes dejar el modo de Hoja de Datos, por supuesto, pero este es mucho más dificil controlar). Luego puedes generar el código desde el formulario principal y hacer una busqueda al subformulario.

Private Sub Txt_AfterUpdate()
Dim TxtBuscar As String
Set TxtBuscar = Me.Txt.Value

Forms![Principal]![SubPrincipal].Form![Campo].SetFocus
DoCmd.ApplyFilter , "[SubPrincipal].[Campo] = " & TxtBuscar ' Solamente para encontrarlo sin filtrar.
DoCmd.FindRecord TxtBuscar, , True, , True ' en este caso lo filtra en el subformulario.
End Sub

Asumimos que "Principal" es el nombre del formulario y "SubPrincipal" el de el subformulario y "Campo" es el nombre del campo a buscar o el campo en el que tiene que buscar.

2. La otra alternativa sería cambiar el sql del subformulario con un filtro.

En ambas opciones, si te interesa, puedo generarte un ejemplo para ambas opciones y los formularios que no puedo incluir en esta respuesta, pero me puedes escribir.