Compartir a través de


Método DoCmd.SearchForRecord (Access)

Use el método SearchForRecord para buscar un registro específico en una tabla, consulta, formulario o informe.

Sintaxis

expresión. SearchForRecord (ObjectType, ObjectName, Record, WhereCondition)

expresión Variable que representa un objeto DoCmd.

Parámetros

Nombre Obligatorio/opcional Tipo de datos Descripción
ObjectType Optional AcDataObjectType Constante AcDataObjectType que especifica el tipo de objeto de base de datos en el que se va a buscar. El valor predeterminado es acActiveDataObject.
ObjectName Opcional Variant Nombre del objeto de base de datos que contiene el registro que se va a buscar.
Record Opcional AcRecord Constante AcRecord que especifica el punto y la dirección iniciales de la búsqueda. El valor predeterminado es acFirst.
CondiciónWhere Opcional Variant Cadena que se utiliza para localizar el registro. Es como la cláusula WHERE en una instrucción SQL, pero sin la palabra WHERE.

Comentarios

En los casos en los que más de un registro coincide con los criterios del argumento WhereCondition , los siguientes factores determinan qué registro se encuentra:

  • Configuración del argumento Record .

  • El criterio de ordenación de los registros. Por ejemplo, si el argumento Record se establece en acFirst, el cambio del criterio de ordenación de los registros podría cambiar el registro que se encuentra.

El objeto especificado en el argumento ObjectName debe estar abierto antes de ejecutar esta acción. De lo contrario, se produce un error.

Si no se cumplen los criterios del argumento WhereCondition , 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 continúa cuando llega al final de los datos. Si no hay más registros que cumplen los criterios, no se produce ningún error y el enfoque permanece en el registro actual. Para confirmar que se encontró una coincidencia, puede escribir una condición para la siguiente acción y hacer que la condición sea la misma que los criterios del argumento WhereCondition .

El método SearchForRecord es similar al método FindRecord , pero SearchForRecord tiene características de búsqueda más eficaces. El método FindRecord se usa principalmente para buscar cadenas, y duplica la funcionalidad del cuadro de diálogo Buscar. El método SearchForRecord usa criterios más parecidos a los criterios de los filtros o de las consultas SQL.

En la lista siguiente se muestran algunas cosas que puede hacer con el método SearchForRecord :

  • Use criterios complejos en el argumento WhereCondition , como Description = "Beverages" and CategoryID = 11.

  • Consulte los campos que se encuentran en el origen del registro de un formulario o informe, pero que no se muestran en el formulario o informe. En el ejemplo anterior, ni debe mostrarse ni DescriptionCategoryID en el formulario ni en el informe para que funcionen los criterios.

  • Use operadores lógicos, como <, >, AND, OR y BETWEEN. El método FindRecord solo buscará las cadenas que sean iguales, que comiencen por o que contengan la cadena que se desea buscar.

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.