CDaoRecordset::Seek
Llame a esta función miembro para buscar el registro en un objeto de conjunto de registros indizado de tabla-tipo que cumple los criterios especificados para el índice actual y conviértala que registra el registro actual.
BOOL Seek(
LPCTSTR lpszComparison,
COleVariant* pKey1,
COleVariant* pKey2 = NULL,
COleVariant* pKey3 = NULL
);
BOOL Seek(
LPCTSTR lpszComparison,
COleVariant* pKeyArray,
WORD nKeys
);
lpszComparison
una de las expresiones de cadena siguientes: “<”, “<=”, “=”, “>=”, o “>”.pKey1
Un puntero a COleVariant cuyo valor corresponde al primer campo del índice. Requerido.pKey2
Un puntero a COleVariant cuyo valor corresponde al segundo campo de índice, si existe. Valores predeterminados a NULL.pKey3
Un puntero a COleVariant cuyo valor corresponde al tercer campo de índice, si existe. Valores predeterminados a NULL.pKeyArray
Puntero a una matriz de variantes. El tamaño de la matriz corresponde al número de campos en el índice.nKeys
Un entero que corresponde al tamaño de la matriz, que es el número de campos en el índice.Nota
No especifique los caracteres comodín en las claves.Los comodines harán Seek para no devolver ningún registro correspondiente.
Distinto de cero si coincide con los registros se encuentran, si no 0.
Utilice la segunda versión (array) de Seek para controlar los índices de cuatro campos o más.
Seek habilita el índice de alto rendimiento que busca en los conjuntos de registros de tabla-tipo. Debe establecer el índice actual llamando a SetCurrentIndex antes de llamar a Seek. Si el índice identifica un campo clave o campos nonunique, Seek encuentra el primer registro que satisfacen los criterios. Si no establece un índice, se produce una excepción.
Tenga en cuenta que si no está creando un conjunto de registros de UNICODE, los objetos de COleVariant se deben declarar explícitamente ANSI. Puede hacerlo con el formulario de COleVariant:: COleVariant( lpszSrc**,** vtSrc ) de constructor con vtSrc establecido en VT_BSTRT (ANSI) o mediante la función SetString( lpszSrc**,** vtSrc ) de COleVariant con vtSrc establecido en VT_BSTRT.
Cuando se llama a Seek, pasa uno o más valores de clave y un operador de comparación (“<”, “<=”, “=”, “>=”, o “>”). las búsquedas deSeek a través de los campos clave especificados y busque el primer registro que satisfacen los criterios especificados por lpszComparison y pKey1. Una vez que se encuentra, Seek devuelve cero, y crea esa actual de registro. Si Seek no puede establecer una coincidencia, Seek devuelve cero, y el registro actual es indefinido. Al utilizar DAO directamente, debe comprobar explícitamente la propiedad de NoMatch.
Si es lpszComparison “=”, “>=”, o “>”, Seek comienza al principio del índice. Si lpszComparison es “<” o “<=”, Seek inicia al final del índice y busca hacia atrás a menos que haya entradas de índice duplicadas en el extremo. En este caso, inicio de Seek en una entrada arbitraria entre las entradas de índice duplicadas al final del índice.
No tiene que haber un registro actual cuando se utiliza Seek.
Para buscar un registro en un conjunto de registros de tipo dinámico o de tipo instantánea que satisfacen una condición específica, utilice las operaciones de búsqueda. Para incluir todos los registros, no solo los que satisfacen una condición específica, utilice las operaciones de mover para desplazarse de un registro a otro.
No puede llamar a Seek en una tabla asociada de cualquier tipo porque las tablas asociadas se abran como conjuntos de registros de tipo dinámico o de tipo instantánea. Sin embargo, si llama a CDaoDatabase::Open para abrir directamente una base de datos pueda ISAM de, puede llamar a Seek en las tablas de la base de datos, aunque el rendimiento puede ser lento.
Para obtener información relacionada, vea el tema “método de búsqueda” en la Ayuda de DAO.
encabezado: afxdao.h