
11/02/2003, 06:48
|
 | Usuario no validado | | Fecha de Ingreso: enero-2001 Ubicación: Mendoza
Mensajes: 630
Antigüedad: 24 años, 3 meses Puntos: 1 | |
Encontré algo... Un archivo de ayuda que se llama ADO210.CHM y pesa 827 Kb (si querés que te lo pase, mandame un mail desde mi perfil en el foro indicando a que mail te lo envío).
Allí encontré esto:
Filter, propiedad
Especifica un filtro para datos en un Recordset.
Configuración y valores devueltos
Establece o devuelve un valor Variant, que puede contener uno de los siguientes elementos:
Cadena de criterios: una cadena compuesta por una o más cláusulas individuales concatenadas con operadores AND u OR.
Matriz de marcadores: una matriz de valores de marcador que apuntan a registros del objeto Recordset.
Uno de los valores siguientes de FilterGroupEnum. Constante Descripción
adFilterNone Elimina el filtro actual y vuelve a poner todos los registros a la vista.
adFilterPendingRecords Permite ver sólo los registros que han cambiado, pero que no han sido enviados aún al servidor. Aplicable sólo para el modo de actualización por lotes.
adFilterAffectedRecords Permite ver sólo los registros afectados por la última llamada a Delete, Resync, UpdateBatch o CancelBatch.
adFilterFetchedRecords Permite ver los registros de la caché actual, es decir, los resultados de la última llamada para recuperar registros de la base de datos.
adFilterConflictingRecords Permite ver los registros que fallaron en el último intento de actualización por lotes.
Comentarios
Utilice la propiedad Filter para descartar de manera selectiva registros de un objeto Recordset. El Recordset filtrado se convierte en el cursor actual. Esto afecta a otras propiedades, como AbsolutePosition, AbsolutePage, RecordCount y PageCount, que devuelven valores basados en el cursor actual, puesto que al establecer para la propiedad Filter un valor específico, el registro actual se moverá al primer registro que cumpla el nuevo valor.
La cadena de criterios se compone de cláusulas con el formato NombreCampo -Operador-Valor (por ejemplo, "LastName = 'Smith'"). Se pueden crear cláusulas compuestas mediante la concatenación de cláusulas individuales con AND (por ejemplo, "LastName = 'Smith' AND FirstName = 'John'") u OR (por ejemplo, "LastName = 'Smith' OR LastName = 'Jones'"). Utilice las siguientes directrices para las cadenas de criterios:
NombreCampo debe ser un nombre de campo válido del Recordset. Si el nombre de campo contiene espacios, deberá poner el nombre entre corchetes.
Operador debe ser uno de los siguientes: <, >, <=, >=, <>, = o LIKE.
Valor es el valor con el que comparará los valores de los campos (por ejemplo, 'Smith', #8/24/95#, 12.345 o $50.00). Utilice comillas sencillas con las cadenas y el símbolo de almohadilla (#) con las fechas. Para los números, puede utilizar puntos decimales, el signo de dólar y la notación científica. Si Operador es LIKE, en Valor se podrán utilizar comodines. Los únicos comodines que se admiten son el asterisco (*) y el signo de porcentaje (%) y deben ser el último carácter de la cadena. Valor no puede ser Null.
No existe prioridad entre AND y OR. Las cláusulas se pueden agrupar entre paréntesis. No obstante, no puede agrupar cláusulas unidas por un operador OR y después unir el grupo a otra cláusula con un operador AND, como en este ejemplo:
(LastName = 'Smith' OR LastName = 'Jones') AND FirstName = 'John'
En su lugar, debería generar este filtro como:
(LastName = 'Smith' AND FirstName = 'John') OR (LastName = 'Jones' AND FirstName = 'John')
En una cláusula LIKE, puede utilizar un comodín al principio y al final del modelo (por ejemplo, LastName Like '*mit*'), o solamente al final del modelo (por ejemplo, LastName Like 'Smit*').
Las constantes de filtro permiten solucionar fácilmente los conflictos entre registros individuales durante el modo de actualización por lotes, permitiéndole ver, por ejemplo, sólo los registros afectados durante la última llamada al método UpdateBatch.
Incluso, es posible que no se pueda establecer la propiedad Filter debido a un conflicto con los datos subyacentes (por ejemplo, un registro ha sido eliminado por otro usuario). En este caso, el proveedor devolverá mensajes de advertencia a la colección Errors pero no detendrá la ejecución del programa. Se producirá un error en tiempo de ejecución sólo si hay conflictos en todos los registros solicitados. Utilice la propiedad Status para localizar los registros con conflictos.
Si establece para la propiedad Filter una cadena de longitud cero (""), esto tendrá el mismo efecto que utilizar la constante adFilterNone.
Cada vez que se establece la propiedad Filter, la posición del registro actual se mueve al primer registro del subconjunto de registros filtrados del Recordset. De manera similar, cuando se borra la propiedad Filter, la posición del registro actual pasa al primer registro del Recordset.
Vea la propiedad Bookmark para obtener una explicación acerca de los valores de marcación desde los que puede generar una matriz para utilizar con la propiedad Filter. |