Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2004
Avatar de jzk
jzk jzk is offline
Miembro
 
Registrado: may 2004
Posts: 100
Poder: 20
jzk Va por buen camino
Ordenar dbgrid

Tengo un programa con la siguiente estructura:

Query1, DBGrid,Table1,table2

El DbGrid está asociado a la Query1, que utilizo para insertar,modificar, eliminar registros.
Para conseguir esta acción debo tener RequesLive = True, lo que me impide hacer subselect en esta query, subselect que necesito para obtener descripción de ciertos campos.
Para eso utilizo la table1 y table2 que tengo como tablas detalle para obtener la descripción que necesito y que muestro en el dbgrid.

Bien, una vez situados (al menos eso espero) paso a explicar mi problema;
Cuando pulso en cualquier cabecera del dbgrid ordeno los datos por el campo de la columna seleccionada, pero cuando ese campo es el que he definido/obtenido a través de la tabla1 y tabla2 me provoca un error donde me indica que el campo no está definido y es porque no está dentro de la propia sql, es decir dentro de Query1.Sql.Text sino a través de Fields Editor

¿Existe algún método/posibilidad de poder ordenar este dbgrid por los campos obtenidos a través de la tabla detalle.?

Estoy utilizando el dbgrid de las rx para delphi6 con una base de datos de Informix
Un saludo
Responder Con Cita
  #2  
Antiguo 17-12-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Post

Cita:
Empezado por jzk
El DbGrid está asociado a la Query1, que utilizo para insertar,modificar, eliminar registros.
Para conseguir esta acción debo tener RequesLive = True, lo que me impide hacer subselect en esta query, subselect que necesito para obtener descripción de ciertos campos.
Para eso utilizo la table1 y table2 que tengo como tablas detalle para obtener la descripción que necesito y que muestro en el dbgrid.
Las soluciones que se me ocurren:

(1) Cargar todos los datos de la consulta en memoria, cosa que funcionaría (dejando las ordenaciones al DBGrid), pero altamente ineficiente y yo la descartaría (a no ser que la tabla sea pequeña y sepas con seguridad que no va a crecer).

(2) Construir una tabla temporal en el servidor con todos los datos y lanzar la consulta contra esa tabla. Ineficiente también, aunque un poco menos que la anterior. Tampoco me gusta personalmente.

(3) La tercera pasa por conseguir que en una sóla consulta tengas todos los datos; ¿No hay forma de obtener esas descripciones con una única sentencia SQL? Utilizando JOIN's. Creo que es la correcta, pero sin saber la estructura de las tablas...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 17-12-2004 a las 13:17:54.
Responder Con Cita
  #3  
Antiguo 17-12-2004
Avatar de jzk
jzk jzk is offline
Miembro
 
Registrado: may 2004
Posts: 100
Poder: 20
jzk Va por buen camino
Gracias por tu respuesta Neftali.

De las tres primeras soluciones, las dos primeras como tu indicas las voy a descartar por el volumen de datos con el que voy a tratar.

Y la tercera no me es posible con la estructura actual del programa porque el objeto Query1 es el que utilizo para la inserción/modificación/borrado de datos y para realizar una Join necesito poner la propiedad RequesLive a False, lo que me impediría las gestión que acabo de explicar de los datos.

Me ha dejado patidifusa este problemilla que me ha surgido.
Responder Con Cita
  #4  
Antiguo 17-12-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Y hacer la consulta con JOIN y realizar las inserciones aparte, no te es posible?
Dejar el DGGrid de sólo lectura vamos, y crear un form de edición; En ese caso ya no tendrías ese problema. ¿Es posible? o ¿tienes alguna limitación para éste comportamiento?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 17-12-2004
Avatar de jzk
jzk jzk is offline
Miembro
 
Registrado: may 2004
Posts: 100
Poder: 20
jzk Va por buen camino
Es lo que haré al final, me llevará un poco de tiempo pero no veo otra solución.

Gracias por tu atención.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:55:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi