Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2005
Mauro.NET Mauro.NET is offline
Miembro
 
Registrado: mar 2005
Posts: 70
Poder: 20
Mauro.NET Va por buen camino
Ordenar DataSet por campo lookUp

Hola, tengo una ventana con una grilla solo para mostrar
datos de empleados, cuyo datasource es un ADODataSet,
que contiene los campos que devuelve la consulta y un
campo loockUp que se vincula con otro objeto ADODataSet
para mostrar el departamento a la cual pertenece el empleado.

El problema es que el usuario de mi sistema le permito ordenar
por cualquier campo que aparece en la grilla, y cuando quiere
ordenar por un campo tipo LookUp como el de departamento,
me da un error como que no existe ese campo.
Yo solamente escribo el siguiente codigo:

AdoDataSet.Shot := 'Departamento';

He probado eliminar el lookup y traer ese dato en la consulta SQL,
pero he tenido otros problemas que no vienen al caso.

Ya no se que hacer......

Gracias.

Última edición por Mauro.NET fecha: 05-07-2005 a las 22:15:39.
Responder Con Cita
  #2  
Antiguo 06-07-2005
Avatar de hermes_32
hermes_32 hermes_32 is offline
Miembro
 
Registrado: jul 2003
Posts: 94
Poder: 21
hermes_32 Va por buen camino
Hola Mauro.NET,

estas intentando ordenar una tabla por un campo que no existe en ella, ya que pertenece a otra que previamente has enlazado. Para poder solucionar esto, tienes que usar un ADOQuery.

Un saludo.
__________________
Hay gente que esta demasiado educada para hablar con la boca llena pero no les importa hacerlo con la cabeza hueca.
Responder Con Cita
  #3  
Antiguo 06-07-2005
Mauro.NET Mauro.NET is offline
Miembro
 
Registrado: mar 2005
Posts: 70
Poder: 20
Mauro.NET Va por buen camino
Error al ordenar dbGrid por campos

El problema sigue Recibo el mismo error:

"No se encontró el elemento en la coleccion que corresponde con el nombre o el ordinal pedido"

La idea mia es que al hacer click en el titulo de la columna del DBGrid, te ordene los registros segun el campo que le interesa al usuario. El usuario carga los datos en la misma ventana con dbedits y dblookupcombo y se van mostrando los empleados cargados en dbGrid de la misma ventana.

Otra alternativa que tengo es:

select *,

(select Departamento.Nombre from Departamentos where Departamento.ID_Departamento = Empleados.ID_Departamento) as Departamento

from Empleados


Haciendo una subconsulta SQL para mostrar el departamento se puede ordenar sin problemas, pero al momento de insertar nuevo registro o modificar el departamento del empleado, la grilla no me refrezcaba los cambios, y tenia que forzar a cerrar y abrir AdoDataSet, y me implica mucho trafico en la red, no me conviene.

Hay algo que se pueda hacer?

Última edición por Mauro.NET fecha: 07-07-2005 a las 00:28:27. Razón: a lo mejor no esta bien expresado
Responder Con Cita
Respuesta



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 08:40:50.


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