Programación General > C++ Builder

 Mas De Un Filtro

<< < (2/2)

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-&#62;Filter=&#34;&#34;;Table1-&#62;Filtered=false;Table1-&#62;Filter=&#34;DocEst='Edit1-&#62;Text'AND Periodo='ComboBox1-&#62;Text'AND NivelAcad='ComboBox2-&#62;Text'&#34;;Table1-&#62;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-&#62;Filter=&#34;DocEst='Edit1-&#62;Text'&#34;; 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

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa