Compartir a través de


EncontrarRegistro (acción de macro)

Se aplica a: Access 2013, Office 2013

Puede usar la acción EncontrarRegistro para buscar un registro específico en una tabla, una consulta, un formulario o un informe.

Configuración

La acción EncontrarRegistro tiene los siguientes argumentos.

Argumento de la acción

Descripción

Tipo de objeto

Especifique o seleccione el tipo de objeto de base de datos en el que desee realizar la búsqueda. Las opciones son Tabla, Consulta, Formulario o Informe.

Nombre del objeto

Especifique o seleccione el objeto específico que contenga el registro que desee buscar. En la lista desplegable se muestran todos los objetos de base de datos del tipo seleccionado para el argumento Tipo de objeto.

Registro

Especifique el punto inicial y la dirección de la búsqueda.

Configuración

Descripción

Previous

Permite buscar hacia atrás a partir del actual registro.

Siguiente

Permite buscar hacia delante a partir del actual registro.

Primero

Permite buscar hacia delante a partir del primer registro. Es el valor predeterminado de este argumento.

Último

Permite buscar hacia atrás a partir del último registro.

Condición WHERE

Especifique los criterios de la búsqueda usando la misma sintaxis que para una cláusula SQL WHERE, pero 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 concatene la primera parte del criterio con el nombre del cuadro de texto que contiene el valor para el que se va a buscar. Por ejemplo, el siguiente criterio buscará en el campo denominado Descripción el valor del cuadro de texto denominado txtDescripción del formulario denominado frmCategorías. Fíjese en el signo de igualdad (=) al comienzo de la expresión y en el uso de las comillas sencillas (') a ambos lados de la referencia al cuadro de texto:

'="Description = ' " & Forms! [frmCategories]! [txtDescription] & "'"'

Comentarios

  • En los casos en los que más de un registro coincida con los criterios del argumento Condición Where, los siguientes factores determinarán el registro encontrado:

    • El valor del argumento Registro Vea la tabla que figura en la sección Valor para obtener más información sobre el argumento Registro.

    • El criterio de ordenación de los registros Por ejemplo, si el argumento Registro está establecido en Primero, un cambio del criterio de ordenación de los registros podría cambiar el registro que se va a encontrar.

  • El objeto especificado en el argumento Nombre del objeto debe estar abierto antes de que se ejecute esta acción. En caso contrario, se genera un error.

  • Si no se cumplen los criterios del argumento Condición Where, no se genera ningún error y el foco permanece en el actual registro.

  • Cuando se busca el registro anterior o siguiente, la búsqueda no se "ajusta" al alcanzar el final de los datos. Si no hay registros que cumplan los criterios, no se genera ningún error y el foco permanece en el actual registro. Para confirmar que se ha encontrado una coincidencia, se puede especificar una condición para la siguiente acción y equiparar la condición a los criterios del argumento Condición Where.

  • Para ejecutar la acción EncontrarRegistro en un módulo de VBA, use el método SearchForRecord del objeto DoCmd.

  • La acción EncontrarRegistro es similar a la acción BuscarRegistro, pero EncontrarRegistro tiene características de búsqueda más eficaces. La acción BuscarRegistro se usa principalmente para buscar cadenas y duplica la funcionalidad del cuadro de diálogo Buscar. La acción EncontrarRegistro usa criterios más similares a las de un filtro o una consulta SQL. En la siguiente lista se muestran algunas de las operaciones que se pueden realizar con la acción EncontrarRegistro:

    • Se pueden usar criterios complejos en el argumento Condición Where, como

      Description = "Beverages" and CategoryID = 11

    • Se puede hacer referencia a campos del origen de registros de un formulario o informe que no se muestran en el formulario o informe. En el ejemplo anterior, ni Description ni CategoryID pueden aparecer en el formulario o informe para que funcionen los criterios.

    • Se pueden usar operadores lógicos, como <, >, Y, O y ENTRE. La acción BuscarRegistro sólo busca las cadenas que sean iguales, comiencen o contengan la cadena que se está buscando.

Ejemplo

En la siguiente macro se abre primero la tabla Categorías mediante la acción AbrirTabla. A continuación, se usa la acción EncontrarRegistro para buscar el primer registro de la tabla donde el campo Descripción sea igual a "Bebidas".

Acción

Argumentos

OpenTable

Nombre de tabla:Vista categorías: DatasheetData Mode: Edit

SearchForRecord

Tipo de objeto: TableObject Name: CategoriesRecord: FirstWhere Condición: Description = "Beverages"