Filtrar un form

Hola sofocles, necesito saber algo simple, te cuento: tengo una tabla, con la cual creé un autoformulario con el asistente para cargar datos o navegarla. El asistente me creó etiquetas (con los nombres de los campos) y textbox's donde muestra el valor de los campos. Yo le agregué al formulario un subformulario sobre la misma tabla que me muestra la tabla como una hoja de cálculo.
Ahora bien, cuando aplico un filtro (por selección o formulario) utilizando los cuadros de texto los registros filtrados no se reflejan también en el subformulario, es como que se utilizan 2 recordset distintos (no sé bien).
La pregunta sería, cómo hago para que cuando utilizando los cuadros de texto se refleje también en el subformulario y viceversa, cuando filtre en el subformulario se reflejen en los cuadros de texto.
Espero tu respuesta.

1 respuesta

Respuesta
1
Posiblemente el problema es que no se refresca el recordset del formulario, para realizar este proceso puedes emplear dos métodos.
El más rapido, el manual, tecleando a la vez Shift + F9.
El automático, tendrás que incluirlo mediante código VBA en el evento después de actualizar del formulario principal.
Sub Form_AfterUpdate()
SET F=FORMS![NombreFormulario]
SET SF=F![NombreSubformulario].Form
SF. Requery
Puedes tambien probar con Refresh (F9) o Recalc(shift+enter)
Todo sigue igual, cuando filtro desde un textbox funciona (es decir, disminuye la cantidad de registros que se indica al pie del form) pero sigue sin refrescar el recordset del subformulario, ni aplicando lo que me enseñaste.
¿Qué puede estar pasando?
Espero tu respuesta.
Te recomiendo cambiar de estrategia y utilizar el siguiente método para el uso de un formulario principal con un subformulario dependiente.
Primero. Crea o utiliza un formulario como principal, donde incorporaras el subformulario dependiente.
Segundo. Inserta el subformulario dependiente, y en las propiedades de vinculación (Vincular campos principales/Vincular campos secundarios) haz corresponder los campos relacionados del formulario principal (en principales) con los del subformulario (secundarios).
El resto del trabajo dejalo para Access, que dependiendo de la selección que realices en el formulario principal, mostrará automáticamente los datos del subformulario.
Debes tener en cuenta, que si quieres editar los campos del subformulario, debes indicar en las propiedades de este, que permita realizar estas tareas. Ademas la consulta o tabla, origen de datos del subformulario, también debe permitir la edición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas