Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-03-2012
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
el gridview es un datagrid o dbgrid.. y si creo que si te entiendo lo que me comentas...

no habra manera de meterlo en algun procedimiento almacendo y mientras recorre la consulta del inner join vaya guardando como variable el usuario, y mientras siga siendo el mismo usuario despliege solo los permisos y si no desplegaria al usuario siguiente y asi.. detalle esta en que no se como construir el procedimiento..
Responder Con Cita
  #2  
Antiguo 21-03-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 21
ElDioni Va por buen camino
Hola,

en una ocasión vi un ejemplo de unos grids que dependía uno del otro, uno de los grids está oculto y aparece cuando haces click en un registro del grid que se está viendo. Quiero decir que tu verías el grid de los usuarios y al hacer click o al ir moviendote por los registros podrías ir enseñando el grid oculto con los permisos correspondientes, como si fuera un desplegable del grid principal. Lo podrías hacer de la siguiente forma.

Código Delphi [-]
procedure TFrmMenuArt.DBGridUsuariosCellClick(Column: TColumn);
begin
if QueryUsuarios.IsEmpty then
  begin
    DbGridPermisos.Visible:=False;
  end
else
  begin
    QueryPermisos.close;
    QueryPermisos.SQL.Text:='SELECT * FROM permisos WHERE usuario='+QueryUsuarios.FieldByName('Usuario').AsString;
    QueryPermisos.Open;
    DbGridPermisos.Top:=DBGridUsuarios.Top+(QueryUsuarios.RecNo*18)+18;
    DbGridPermisos.Visible:=true;
  end;
end;
No se que te parece el asunto, ya me contarás.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #3  
Antiguo 22-03-2012
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
eso tambien funcionaria pero como ya cuento con una forma en que se consulta al usuario y se desglosan sus respectivos permisos.. lo que intento hacer seria mas bien como un tipo reporte esto lo intento desplegar en un grid y despues se va a exportar a excel..
Responder Con Cita
  #4  
Antiguo 22-03-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 21
ElDioni Va por buen camino
Hola,

entiendo que tu lo que tienes montado es un formulario con un grid para mostrar los datos, si es así no se me ocurre como dentro del mismo grid puedes mostrar los datos maestros, que sería el usuario, y los datos detalle, que serías los permisos, o eso o te estoy entendiendo mal, ¿como recorres la consulta?, ¿podrías subir una captura?.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #5  
Antiguo 11-04-2012
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
Hola que tal... adjunto un archivo.zip para ver mejor el resultado que se espera..

archivo usuarios:es como se pretende quede en el grid y de ahi se exporte a excel
archivo archivo1: es como se obtiene actualmente en el grid y exportacion a excel

no se si haya alguna manera de que no se repitan los usuarios tantas veces tengan permisos, si no que nada mas muestre una vez al usuario
y con sus respectivos permisos..
Archivos Adjuntos
Tipo de Archivo: zip Archivos.zip (18,6 KB, 2 visitas)
Responder Con Cita
  #6  
Antiguo 11-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
No se si entiendo bien.
Archivo1: muestra lo que contiene el dbgrid, osea, lo que muestra la consulta sql actualmente.
Usuarios: es como pretendes que se muestre en el dbgrid, osea, que la consulta sql genere.

Me da la impresión que quieres que el usuario no se repita, solo lo necesario.
Código SQL [-]
select DISTINCT u.usr as usuario, u.id,
       u.nom+' '+ u.ape_pat+' '+ u.ape_mat as 'Nombre Completo',
       CASE u.estado 
           when 1 then 'Activo' 
            when 2 then 'Suspendido' 
           end as 'Estado',
             p.descr,
       tp.descr ,
       ua.dir_cliente,
       ua.ult_act
 from fusu_usr_per up 
        inner join fusu_per p on up.id_per=p.id 
        inner join fusu_usr u on up.id_usr=u.id 
        inner join fusu_tper tp on p.id_tper=tp.id 
 inner join fusu_usr_acc ua on up.id_usr=ua.id_usr
 where ua.id=(Select Top 1 id from fusu_usr_acc where id_usr=ua.id_usr order by ult_act desc)
        order by u.id

O podría ser:

Código SQL [-]
select LAST(u.usr) as usuario, u.id,
       u.nom+' '+ u.ape_pat+' '+ u.ape_mat as 'Nombre Completo',
       CASE u.estado 
           when 1 then 'Activo' 
            when 2 then 'Suspendido' 
           end as 'Estado',
             p.descr,
       tp.descr ,
       ua.dir_cliente,
       ua.ult_act
 from fusu_usr_per up 
        inner join fusu_per p on up.id_per=p.id 
        inner join fusu_usr u on up.id_usr=u.id 
        inner join fusu_tper tp on p.id_tper=tp.id 
 inner join fusu_usr_acc ua on up.id_usr=ua.id_usr
 where ua.id=(Select Top 1 id from fusu_usr_acc where id_usr=ua.id_usr order by ult_act desc)
        order by u.id

No llevo el hilo del asunto, solo es una apreciación.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 11-04-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Caral, DISTINC no funciona a menos que las filas sean idénticas, el cual no es el caso por loq eu el resultado será el mismo. Creo que amerika nos tendría que poner en forma de enuncia que es l que necesita obtener de su base de datos. Es decir informacion sobre que contiene cada tabla y que resultado se busca obtener, ej: "Mostrar todos los permisos de cada usuario", y luego con esos nombres tan crípticos pues se complica la cosa. Muy seguramente asi te los encontraste pero se puede mejorar.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta con inner join juanjo123 MySQL 3 11-02-2010 22:34:16
Consulta INNER JOIN NeWsP SQL 3 27-12-2009 14:01:46
Consulta Con INNER JOIN Rockin SQL 2 14-07-2008 08:30:42
Consulta sobre left / Right outer join ContraVeneno MS SQL Server 2 06-07-2006 15:18:12
EdatabaseError FIELD NOT FOUND en consulta JOIN syntetiko SQL 5 02-10-2004 00:35:31


La franja horaria es GMT +2. Ahora son las 00:13:50.


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