Usar criterios de fecha y hora desde un control en un formulario

Si desea cambiar el argumento criteria de una operación basándose en una decisión del usuario, puede hacer que los criterios provengan de un control de un formulario. Por ejemplo, puede especificar que el argumento criteria provenga de un cuadro de lista que contiene fechas de pedidos de la tabla Pedidos.

Para especificar criterios de fecha y hora procedentes de un control de un formulario, incluya en el argumento criteria una expresión que haga referencia a dicho control. Esta expresión debe ser independiente de la expresión de cadena, por lo que Access evaluará primero la expresión de control y la concatenará con el resto de la expresión de cadena antes de realizar la operación adecuada.

Además de encerrar toda la expresión entre comillas dobles ("), también debe asegurarse de que los criterios de fecha y hora de la expresión de cadena estén encerrados entre signos #. Estos signos deben incluirse en las cadenas que incluyen la expresión que hace referencia al control del formulario.

Nota:

Los signos numéricos indican a Access que el argumento criteria contiene una fecha o hora dentro de una cadena.

En el ejemplo siguiente se establece la propiedad Filter o ServerFilter de un formulario basada en los criterios que proceden de un control del formulario denominado HireDate. Observe la posición de los signos #.

Forms!Employees.Filter = "[HireDate] >= #" _ 
 &     Forms!Employees!HireDate & "#" 
Forms!Employees.FilterOn = True
Forms!Employees.ServerFilter = "[HireDate] >= #" _ 
 &     Forms!Employees!HireDate & "#" 
Forms!Employees.FilterOn = True

Si el valor actual del control HireDate es 5-1-92, la propiedad Filter o ServerFilter tendrá el siguiente argumento criteria :

"[HireDate] >= #5-1-92#"

Sugerencia

Para localizar errores en una expresión del argumento criteria, divídala en componentes más pequeños y pruebe cada uno de ellos en la ventana Inmediato. Cuando todos los componentes funcionen correctamente, vaya agregándolos uno a uno hasta que toda la expresión sea correcta.

También puede especificar una variable que represente un valor de fecha u hora en el argumento criterio. La variable debe ser independiente de la expresión de cadena, por lo que Access evaluará primero la variable y, a continuación, la concatenará con el resto de la expresión de cadena. El criterio de fecha u hora debe ir entre símbolos #.

En el ejemplo siguiente se muestra cómo construir un argumento criterio que incluye una variable que representa una fecha:

Dim datHireDate As Date 
datHireDate = #5-1-92# 
Forms!Employees.Filter = "[HireDate] >= #" _ 
 &     datHireDate & "#"

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.