Puede usar la acción de macro SearchForRecord en bases de datos de escritorio de Access para buscar un registro específico en una tabla, consulta, formulario o informe.
Configuración
La acción de macro SearchForRecord tiene los siguientes argumentos:
Argumento de la acción |
Descripción |
||||||||||
Tipo de objeto |
Escriba o seleccione el tipo de objeto de base de datos en el que está buscando. Puede seleccionar Tabla, Consulta, Formulario o Informe. |
||||||||||
Nombre de objeto |
Escriba o seleccione el objeto específico que contiene el registro que desea buscar. La lista desplegable muestra todos los objetos de base de datos del tipo seleccionado para el argumento Tipo de objeto . |
||||||||||
Grabar |
Especifique el punto de inicio y la dirección de la búsqueda.
|
||||||||||
Where Condition |
Escriba los criterios para la búsqueda con la misma sintaxis que una cláusula WHERE de SQL, solo sin la palabra "WHERE". Por ejemplo, Description = "Beverages" Para crear un criterio que incluya un valor de un cuadro de texto en un formulario, debe crear una expresión que concatena la primera parte del criterio con el nombre del cuadro de texto que contiene el valor para el que desea buscar. Por ejemplo, el criterio siguiente buscará en el campo Descripción el valor del cuadro de texto denominado txtDescription en el formulario denominado frmCategories. Observe el signo igual (=) al principio de la expresión y el uso de comillas simples (') a cada lado de la referencia de cuadro de texto: ="Description = '" & Forms![frmCategories]![txtDescription] & "'" |
Comentarios
-
En los casos en los que más de un registro coincide con los criterios del argumento Where Condition , los siguientes factores determinan qué registro se encuentra:
-
La configuración del argumento Grabar Vea la tabla en la sección Configuración para obtener más información sobre el argumento Registro .
-
El criterio de ordenación de los registros Por ejemplo, si el argumento Registro se establece en Primero, cambiar el criterio de ordenación de los registros puede cambiar el registro que se encuentra.
-
-
El objeto especificado en el argumento Nombre de objeto debe estar abierto antes de ejecutar esta acción. En caso contrario, se producirá un error.
-
Si no se cumplen los criterios del argumento Where Condition , no se produce ningún error y el foco permanece en el registro actual.
-
Al buscar el registro anterior o siguiente, la búsqueda no se "ajusta" cuando llega al final de los datos. Si no hay más registros que coincidan con los criterios, no se producirá ningún error y el foco se mantendrá en el registro actual. Para confirmar que se ha encontrado una coincidencia, puede especificar una condición para la siguiente acción y hacer que la condición sea la misma que los criterios en el argumento Where Condition .
-
Para ejecutar la acción SearchForRecord en un módulo VBA, use el método SearchForRecord del objeto DoCmd .
-
La acción de la macro SearchForRecord es similar a la acción de la macro FindRecord, pero SearchForRecord tiene características de búsqueda más eficaces. La acción de macro BuscarRegistro se usa principalmente para buscar cadenas y duplica la funcionalidad del cuadro de diálogo Buscar . La acción de macro SearchForRecord usa criterios que son más similares a los de un filtro o una consulta SQL. En la siguiente lista se muestran algunas acciones que puede hacer con la acción de macro SearchForRecord :
-
Puede usar criterios complejos en el argumento Where Condition , como
-
Description = "Beverages" and CategoryID = 11
-
Puede hacer referencia a campos que se encuentran en el origen de registros de un formulario o informe pero que no se muestran en el formulario o informe. En el ejemplo anterior, ni Description ni CategoryID deben mostrarse en el formulario o informe para que los criterios funcionen.
-
Puede usar operadores lógicos, como <, >, AND, OR y BETWEEN. La acción BuscarRegistro solo coincide con cadenas iguales, que comienzan por o contienen la cadena que se está buscando.
Ejemplo
La siguiente macro abre primero la tabla Categorías con la acción OpenTable . Después, la macro usa la acción de macro SearchForRecord para buscar el primer registro de la tabla donde el campo Descripción es igual a "Bebidas".
Acción |
Argumentos |
Opentable |
Nombre de tabla: categorías Vista: Hoja de datos Modo de datos: Editar |
SearchForRecord |
Tipo de objeto: tabla Nombre de objeto: categorías Grabar: Primero Where Condition: Description = "Beverages" |