Este tutorial de acceso explica cómo crear un formulario de búsqueda con múltiples criterios.

También puede leer:

Access DoCmd.Método OpenForm para abrir Formulario de Acceso

El valor del Cuadro combinado de acceso depende de otro Cuadro combinado

Devolver entrada de Formulario de acceso para Acceder a Informe o Formulario o Consulta

Acceder crear Formulario de búsqueda con múltiples criterios

A veces es necesario crear un Formulario de búsqueda donde los usuarios puedan seleccionar criterios específicos. La solución más simple es filtrar directamente los datos para cada campo, como usar AutoFiltro en Excel, pero esto no es elegante en absoluto.

Access proporciona una función de formulario llamada Filtro por Formulario que es muy fácil de usar.

Seleccionar una Tabla / Consulta > Crear > Formulario > Aplicar filtro / Ordenar

access_search_form_11

Ahora puede seleccionar varios criterios, incluso puede seleccionar un valor del cuadro desplegable. Sin embargo, esos valores de los cuadros desplegables son independientes unos de otros.

También puede utilizar los criterios Or haciendo clic en la pestaña Or.

access_search_form_12

Cuando la selección haya terminado, haga clic en Alternar filtro

access_search_form_13

Una mejor manera de filtrar es que los usuarios elijan entre los cuadros desplegables dependientes.

Por ejemplo, en el primer cuadro desplegable, los usuarios eligen departamento A, y luego en el segundo cuadro desplegable, los usuarios pueden ver una lista de personas del departamento A.

Este artículo le mostrará cómo hacer dicho filtrado.

Crear un formulario de resultados

Supongamos que tenemos una consulta como se muestra a continuación. Nuestro objetivo es permitir a los usuarios seleccionar departamento para mostrar la información de los empleados, o seleccionar departamento + ID de empleado.

Vamos a crear un «formulario de resultados» que muestre el resultado de la búsqueda.

Consulta1
Departamento de ID de Empleado Fecha de contratación Sueldo Subsidio
Cuenta 1 1/1/2000 10000 100
Admin 2 1/1/2001 20000 200
Admin 3 1/1/2002 30000 300
Admin 4 1/1/2003 40000 400
Nómina 5 1/1/2004 50000 500
HR 6 1/1/2005 60000 600

haga Clic en la Consulta y la virtud de la ficha Crear, seleccione Más Formas > Hoja de datos

access_search_form

Ahora, guarde el Formulario como result_frm. En caso de que cambie accidentalmente los datos del resultado, debe cambiar la Propiedad Bloqueada de cada Cuadro de texto a Sí

access_search_form_04

En este ejemplo, quiero devolver todos los campos de Query1 en el formulario de resultados. Elijo Hoja de datos porque cada registro se puede mostrar en una fila con barra de desplazamiento horizontal. No prefiero usar Forma Continua o Forma única porque cada registro se muestra en varias filas.

Crear un Formulario de búsqueda

Crear un formulario en blanco y luego agregar dos Cuadros combinados (Combo_Dept, Combo_EmpID) y un botón (search_btn) como se muestra a continuación.

access_search_form_05

1) Haga clic en Combo_Dept, en la propiedad Origen de fila, escriba

SELECT DISTINCT Department FROM Query1;

El origen de fila es lo que puede seleccionar en el cuadro combinado.

2) Haga clic en Combo_EmpID, en la propiedad Row Source, escriba

SELECT FROM Query1 WHERE =!!;

3) Seleccione Combo_Dept, seleccione Después del evento de actualización y cree el siguiente Procedimiento

Private Sub Combo_Dept_AfterUpdate() Me.Combo_EmpID = Null Me.Combo_EmpID.RequeryEnd Sub

Al seleccionar un departamento, Combo_EmpID se restablece a Null y luego vuelve a ejecutar la consulta

4) Haga clic con el botón derecho en search_btn y luego elija Build Event

Private Sub search_btn_Click() If IsNull(Me.Combo_EmpID) Then searchCriteria = "='" & Me.Combo_Dept & "'" searchSQL = "Select * FROM Query1 where " & searchCriteria Else searchCriteria = "='" & Me.Combo_Dept & "' AND =" & Me.Combo_EmpID searchSQL = "Select * FROM Query1 where " & searchCriteria End If DoCmd.OpenForm "result_frm", 3, searchSQLEnd Sub

Ahora ha creado con éxito un formulario de búsqueda simple. Una vez que haya seleccionado los criterios en el Formulario de búsqueda, una vez que haga clic en el botón buscar, aparecerá el Formulario de resultados y mostrará el resultado.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.