Sie sind auf Seite 1von 2

Base de Datos I

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO


ESCUELA DE INGENIERIA ELECTRONICA Y TECNOLOGIA EN COMPUTACION DATOS GENERALES
Nombre: Tony Flores P.

Tema: Filtrado de tablas en Delphi. Fecha de entrega: 11 de Julio de 2003 Semestre: Cuarto Perodo acadmico: Marzo - Septiembre 2003

Filtros.
Filtrar los datos significa especificar una condicin sobre los valores de alguno de sus campos; a partir de la activacin del filtro, solamente veremos y trabajaremos sobre los registros que cumplan con esta condicin. Los filtros son tiles cuando queremos buscar un valor que se repite; podemos filtrar la tabla para que muestre todos los registros que contienen ese valor, y permitir al usuario elegir de esa lista reducida. Hay dos maneras de filtrar una tabla: usando rangos y usando expresiones de filtrado. 1) Rangos Si optamos por filtrar por rango, indicamos a la tabla que deje solamente aquellos registros que tengan valores en los campos del ndice activo dentro de cierto rango (dado por un valor mnimo y uno mximo). El rango se establece llamando al mtodo SetRange del ClientDataset: procedure SetRange(const StartValues, EndValues: array of const); El filtrado se aplica sobre estos datos que ya estn en memoria, por lo que si la tabla tiene 1000 registros y se aplica un filtro que deja 10, solamente ver y podr trabajar con estos 10 pero en la memoria seguir ocupando el lugar de los 1000 originales. El mtodo espera recibir dos vectores con los valores mnimos y mximos de los campos del ndice. Usando rangos podemos filtrar rpidamente el conjunto de datos, pero nos restringimos a valores consecutivos dentro del rango, y necesitamos un ndice. Si necesitamos expresiones de filtrado ms avanzadas tenemos que utilizar las propiedades Filter y Filtered. 2) Expresiones de filtrado La propiedad Filter es un string que expresa la condicin que deben cumplir los registros para permanecer en el conjunto de datos filtrado. La condicin es una expresin que involucra nombres de campos, operadores, y constantes. Por ejemplo: - Nombre = Ariel - Edad>20 and Edad<50 - FechaNacimiento is not null Las expresiones son similares a las que se utilizan en SQL, podemos expresar una condicin con varios campos. El filtro se activa cuando ponemos la propiedad Filtered del ClientDataset en True.

Base de Datos I

Filtrado de tablas en Delphi La posibilidad de filtrar una tabla es otra de las ventajas que se tiene al trabajar con tablas en base a unos datos en Delphi, para que solo se muestren los registros con esas caractersticas. Para filtrar una tabla la propiedad de Filtered debe estar en True, y para que se vuelvan a mostrar todos los registros se debe poner esa misma propiedad a False. Antes de filtrar o no filtrar la tabla, se debe dar los datos en los que se va a basar para filtrar, eso se hace con la propiedad Filter, de esta manera: Table 1.Filter:=Campo=+Dato+; //Recordar que el dato deber de estar acorde con el tipo de campo. Table1.Filtered:=True; //Filtramos Bien con eso se consigue filtrar la tabla en base a un dato que especificamos en tiempo de diseo (es decir cuando programamos). Pero esto tiene escasa utilidad, la ventaja de filtrar una tabla es poder elegir en cada momento en base a que filtrar, por ejemplo filtrar en base al texto de un Edit. Para conseguir esto se utiliza el siguiente cdigo: Table 1.Filter:=Campo=+Edit1.text+; //Filtramos en base a lo que hay en el edit. Table1.Filtered:=True; //Filtramos Con este cdigo ya tenemos la tabla filtrada en base a lo que se desea, pero Cmo se vuelve a mostrar todos los campos?, pues muy sencillo, si para filtrar se pone la propiedad Filtered a True para quitar el filtro se deber poner a False (Table1.Filtered:=False);

Das könnte Ihnen auch gefallen