PDA

Ver la Versión Completa : Ordenamiento de tabla en base a campo ingresado


klionsis
27-09-2008, 15:21:55
Hola gente. Les escribo nuevamente para hacerles una consulta.

Tengo una tabla DBF y quiero sobre la misma hacer una busqueda secuencial o en bloque dependiendo del campo que ingrese y ordenando la tabla en base a este campo, Codigo o Descripción.
Aclarando un poquito la cuestion sería así:

Tengo una caja de texto correspondiente al código de un producto y tengo otra caja de texto correspondiente a la descripción de un producto. Al ingresar los datos del codigo del producto por ejemplo, quiero que la consulta vaya realizandose pero esa columna en la tabla deberia estar ordenada. Pero si decido ingresar la descripción del producto, la tabla deberia ordenarse en base a ese campo, "Desc" por ejemplo y que tb vaya realizando la consulta.


No se me ocurre como podria hacer esto, por ahi se me habia ocurrido ordenar la tabla fisicamente en base al criterio de busqueda que seleccione pero tampoco sé si se puede insertar en una tabla y que en base a esa inserción la tabla quede organizada fisicamente.

Esperando ayuda, los saludo.

marcoszorrilla
27-09-2008, 16:44:40
Suponiendo que ya hayas creado los índices correspondientes, podrías tener una sola caja y un RadioButton que diga:

0 ordenar por Código
0 ordenar por descripción.

Al pulsar en el RadioButton

Case Radiobutton.ItemIndex of
0:Table1.IndexName:='Codigo';
1:Table1.IndexName:='Descripcion';
end;

Un Saludo.

klionsis
27-09-2008, 22:01:04
Muchas gracias por la respuesta. En principio estoy tratando evitar la utilización de índices ya que traen muchos problemas, habrá otra forma de hacer esto.. ?

Gracias.

Lepe
28-09-2008, 00:01:59
la idea es la misma pero ya tienes que usar un Query y añadir:


var ordenar:string;
begin
Case Radiobutton.ItemIndex of
0: ordenar := 'codigo'
1:ordenar :='Descripcion';
end;

query1.sql.text := lo que sea + ' order by ' +ordenar;
query1.open;


Saludos