PDA

Ver la Versión Completa : Ordenar por campo Lookup (con método Sort)


InfoMario
22-02-2005, 21:05:39
Amigos:

La consulta está referida a los campos Lookup de un DBGrip usando ADO y SQL Server, tengo abierta la tabla Clientes, mostrando el nombre de la Localidad a través de un campo Lookup. Lo que no puedo hacer porque no sé, es ordenar por medio del método Sort a dicho campo, con los otros campos no tengo inconvenientes.
¿Me podrán dar una idea por donde comenzar?

kikodelphi
11-03-2005, 15:37:10
Hola infomario


La solucion es usar la propiedad sort de las adoTables, fijate bien el las propiedad de adoTable.
http://www.clubdelphi.com/foros/images/icons/icon10.gif

saludos

fkuong
19-12-2006, 20:37:58
Hola, tengo un problema con el sort, pues también quiero ordenar una tabla por el campo lookup. Al poner en la propiedad sort, el nombre del campo Lookup, me sale "No se ha podido encontrar el nombre del campo o la coincidencia ..."

Como puedo solucionarlo.

Gracias

Neftali [Germán.Estévez]
22-12-2006, 13:05:18
Otra opción es tomar como origen del DBGrid, no la tabla, sino una consulta SQL que incluya el campo del Lookup (utilizando JOIN); En ese caso el campo sí está disponible y no debería haber problemas para usar el Sort; Incluso se puede modificar la consulta y utilizar un ORDER BY.

fkuong
22-12-2006, 16:55:37
Es cierto que usando el Join en la instrucción SQL, se puede ordenar sin problemas, Pero.... la dificultad es que los datos resultados ya NO se pueden modificar. Y en este caso yo necesito modificarlos, por lo que el valor requerido lo obtengo de un lookup hacia otra tabla.

Por favor, otra ideita de como solucioncar este problemilla.

Gracias

Neftali [Germán.Estévez]
22-12-2006, 17:37:56
El problema es que quieres demasiadas cosas a la vez y no se si puedes conseguirlas todas; Quieres campos de otras tablas, quieres ordenar por ellos y además quieres que se pueda insertar.

Lo único que se me ocurre es que utilices un Dataset diferente para el DBGrid y la inserción; Eso significa que no podrás insertar directamente sobre el DBGrid.