Programación General > C++ Builder
Mas De Un Filtro
chusi:
bueno segun entiendo quieres filtrar una tabla en donde los valores correspondan a tres condiciones, por ejemplo supongamos que tienes una tabla cliente en donde manejamos estos tres campos:
Nombre
Telefono
Baja
ahora supongamos que tienes la tabla asi:
----------------------------------------------------------------------------
Nombre |Ciudad |Baja|
----------------------------------------------------------------------------
Juan Mexico Si
Pedro Merida No
Luis Campeche Si
ahora supongamos que quieres que e muestre aquel registro en donde sea el nombe Pedro, su ciudad Merida y Baja sea No
tu codigo seria así:
NombreTabla->Filter="";
NombreTabla->Filtered=false;
NombreTabla->Filter="Nombre='Pedro' AND Ciudad='Merida' AND Baja='No'";
NombreTabla->Filtered=true;
asi tu tabla despues del filtro quedaria asi;
----------------------------------------------------------------------------
Nombre |Ciudad |Baja|
----------------------------------------------------------------------------
Pedro Merida No
de preferencia te recomiendo que primero borres cualquier filtro que pudiera existir (NombreTabla->Filter="";) y que establezcas a false la propiedad Filtered
ahora si los parametros vienen de combos o cuadros de texto solamente construye el filtro con concatenaciones manejanod el nombre de los controles de donde provienen los parametros no olvidando encerrar en comillas simples los parametros sino te causaran error
OJALA TE HAYA SERVIDO SI REQUIERES MAS AYUDA PUEDES CONTACTARME A MI MAIL SIN DUDARLO
ISC JESUS SANTIAGO MAGAÑA ROSADO
jsmr0703810@hotmail.com
chusi:
una cosilla mas, las opciones de locate que te enviaron son adecuadas pero no para filtros, esas sentnecias lo que hacen localizan registros (busquedas) en las tablas, es decir se posicionan en el registro coincidente haciendolo activo (en este caso devuelve un valor true) y si no lo enciuentra delvuelve false, por eso nunca te filtraran la tabla y siempre t la mostraran completa
perdon por mi correo esta mal escrito en mi anterior mensaje
ISC JESUS SANTIAGO MAGAÑA ROSADO
el correcto es
jsmr070380@hotmail.com
ellerysammy:
Estoy utilizando la siguiente sintaxis(claro despues de leer su respuesta):
--- Código: Text ---Table1->Filter="";Table1->Filtered=false;Table1->Filter="DocEst='Edit1->Text'AND Periodo='ComboBox1->Text'AND NivelAcad='ComboBox2->Text'";Table1->Filtered=true;
Y ahora el error dice lo siguiente:
'ComboBox1->Text' Not is a valid interger value, ya se que quiere decir e intento esto:
'ComboBox1->Text.ToInt()' y me sigue duciendo lo mismo:
'ComboBox1->Text.ToInt()' Not is a valid interger value.
He tratado definiendo una variable entera y asignarle el valor de los combobox como enteros y aun me dice el mismo error, esta vez cambiando solo el nombre de la variable en el mensaje asi:
'Variable' Not is a valid interger value.
Es mas cuando quiero solo filtrar asi:
--- Código: Text ---Table1->Filter="DocEst='Edit1->Text'"; me muestra la tabla vacia, habiendo concordancia entre el campo y el parametro que le estoy pasando...........
Para no extenderme mas, vale aclarar que ya he tenido en cuenta todas las recomendaciones que se me han dado de eliminar filtros anteriores( que al fin y al cabo no los tenia).........
Gracias por la ayuda queme puedan prestar.....
Ver imagen adjunta por si puede servir de mas
Navegación
[*] Página Anterior
Ir a la versión completa