Compartir a través de


Usar criterios textuales 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 los apellidos de los empleados de la tabla Empleados.

Para especificar criterios de texto provenientes de un control de un formulario, en el argumento criteria debe incluir 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 indicar toda la expresión de cadena entre comillas dobles ("), debe asegurarse de que el criterio de texto se encuentra dentro de la expresión de cadena entre comillas simples ('). Se deben especificar las comillas para las cadenas que incluyen la expresión que hace referencia al control del formulario.

Nota:

Las comillas simples indican a Access que el argumento criteria contiene una cadena dentro de una cadena.

El ejemplo siguiente hace una búsqueda en la tabla Empleados y obtiene la región en la que vive un empleado a partir de su apellido. El valor actual de un control cuadro de lista denominado Apellidos, en el formulario Empleados determina el criterio. Observe la ubicación de las comillas simples.

=DLookup("[Region]", "Employees", "[LastName] = '" _
    & Forms!Employees!LastName & "'")

Si el valor actual del control es King, el argumento criteria siguiente se pasa a la función DLookup después de que Access evalúe la expresión y concatene las cadenas:

"[LastName] = 'King'"

Tenga en cuenta que la cadena completa que contiene el argumento criteria también debe ir entre comillas dobles después de haber concatenado las cadenas.

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 una cadena de texto en el argumento criteria. 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. La cadena de texto deberá ir entre comillas simples o dobles.

El ejemplo siguiente muestra la forma de construir un argumento criterio que incluye una variable que representa una cadena de texto:

Dim strLastName As String
Dim varResult As Variant

strLastName = "King"
varResult = DLookup("[EmployeeID]", "Employees", "[LastName] = '" _
    & strLastName & "'")

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.