Ver Mensaje Individual
  #4  
Antiguo 30-03-2007
jona-182 jona-182 is offline
Registrado
 
Registrado: may 2006
Ubicación: Santa Fe, Santa Fe, Argentina
Posts: 8
Reputación: 0
jona-182 Va por buen camino
Unhappy Sigo con problemas...

Antes que nada agradezco mucho sus respuestas Neftali y Roman!!! Ahora les comento un poquito mas sobre mi situación... Tengo una tabla paradox con la ubicación de cada dirección, en esta tabla tengo el campo "Clave" que es un número que utilizo como llave primaria, el campo "Posición" que es un número que utilizo para determinar la posicion en una determinada planilla de cada dirección, el campo "Direccion" que es un campo del tipo Alpha que define el nombre de la dirección a la que se entrega la comida, el campo "Planilla" que es otro campo de tipo Alpha que define que persona llevará la comida a la dirección correspondiente y por último el campo "Cantidad_viandas" que es un número que define la cantidad de viandas que se van a entregar en la dirección correspondiente. Como hay mas de 200 clientes (direcciones) las personas que reparten las comidas son mas de una, es decir que hay mas de una planilla y por consiguiente hay hay mas de una posicion iguales, es decir que tengo por ejemplo la dirección "Boulevard 2013" en la planilla "Juan Pérez" en la posición "3", y tengo otra dirección "San Martín 2084" en la planilla "Jorge Tango" tambión en la posición "3".. y estas posiciones pueden ser las mismas sin interferir porque estan en diferentes planillas. Por otra parte cada planilla esta dividida en dos secciones con un máximo de 32 direcciones por cada sección y éstas secciones son independientes entre sí, por lo que las posiciones por cada planilla pueden ser discontínuas... es decir puedo tener direcciones en la posición 1, 2, 3 y 4 y saltar a las posciciones 33, 34, 35... Y al mostrar estas direcciones utilizo dos DBGrid una asociada a un TTable con el filtro:

Código:
'Posicion <= 32 AND Planilla = ' + QuotedStr(Edit1.text);



y el otro DBGrid asociado a otro TTable con el filtro:



Código:
 'Posicion >= 32 AND Posicion <= 64 AND Planilla = ' + QuotedStr(Edit1.text);



Haciendo uso de una consulta con un Query yo haría en c++ algo como

Código:
 
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add(" SELECT *FROM MiTabla WHERE(Posicion <= 32 AND Planilla = :Planilla) ORDER BY Posicion ");
Query1->ParamByName("Planilla")->AsString = Edit1->Text;
Query1->Open();
y a esto lo asociaría al primer DBGrid y consultaría la misma tabla con la otra condición en el WHERE y asociaría este otro Query con el segundo DBGrid, pero bueno como ya les comenté anteriormente no puedo utilizar esto Querys porque no me permiten modificar los datos de la tabla esde el DBGrid.
Intenté utilizando indices como me dijeron... lo que hice fue crear una llave primaria en el campo "Clave" y definir un indice con el nombre "Pos" en el campo "Posicion" con la propiedad "Manteined" seleccionada... y luego puse en la propiedad IndexName del TTable el nombre del índice Pos"... pero no me dió resultado... será que estoy haciendo algo mal? me falta algo?
Otra vez agradezco enormemente su ayuda!
Responder Con Cita