Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-09-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Será buena idea que el usuario pueda hacer querys personalizadas?

Tengo un sistema bastante completo en producción, son cerca de 60 tablas con varios miles de registros. Sucede que con frecuencia a mi cliente se le ocurre que necesita información extraída de dichas tablas, algo asi como datamining, y me pide hacerle el "reporte" para que lo pueda consultar, sin embargo muchos de estos reportes solo los usan una única vez o bien de manera ocasional. La mayoría de estos se pueden sacar armando un query, que es lo que realmente hago. Estaba pensando en hacer un módulo que permita al usuario escribir su query y ver los resultados en un grid, aprovechando que uso Quantumgrid de DevExpress, lo que me permite que los usuarios tengan filtros, ordenaciones y exportación instantánea. La idea es que cuando necesiten algo "especial" yo solo les haga el query, se los pase y con eso lo puedan consultar con la posibilida de que la misma base de datos almacene los querys para que estén disponibles para cualquiera.

Es obvio que esto se puede hacer con herramientas externas o hasta con el vil Excel, pero la idea es que lo puedan hacer dentro del mismo sistema que ya conocen. Obviamente filtrando que el query solo pueda usar selects y no insert, delete ni update.

¿Es buena idea o no tiene caso?,

El nivel del usuario más avanzado que usa este sistema no es de programador pues ni siquiera conoce SQL.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #2  
Antiguo 06-09-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Como funcionalidad "avanzada" yo no lo veo nada mal y creo que puede ser útil tanto para el usuario como, por lo que dices, para ti también.
Responder Con Cita
  #3  
Antiguo 06-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si de todas formas vas tú a hacer la consulta SQL, también podrías proporcionar una vista y que tu aplicación "importe" las vistas.

// Saludos
Responder Con Cita
  #4  
Antiguo 06-09-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola: Yo hace un tiempo comencé a agregar un formulario al que accedo por contraseña que contiene un memo, un boton de ejecutar, un dbgrid y un boton para exportar a excel los datos ya que siempre necesitaban algun tipo de informe que no habia sido diseñado y/o solicitado en la fase de analisis y desarrollo. De esta manera soluciono no tener que seguir agregandole cosas que, como estas diciendo, tal vez la usen una sola vez.-

Saludos
Responder Con Cita
  #5  
Antiguo 06-09-2012
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Me inclino por la solución de Roman, que pueda ejecutar vistas, las que tú decidas.

En alguna ocasión he realizado una solución parecida. Añado una tabla con una pequeña descripción y la sql que quiero que se ejecute. Con un botén de ejecutar cargo la sentencia en los componentes del formulario y se ejecutan. También suele ser necesario incluir los tipos o máscaras de los campos. Para añadir nuevas posibilidades al usuario, sólo hay que incluir registros en esa tabla. Obviamente, esta tabla no puede manejarla el usuario. Si te pide algo nuevo, le pasas el procediminto para insertar un nuevo registro en esa tabla y que pueda ejecutarlo. Si luego él puede ordenar, sacar totales, filtrar, etc, ya tienes la solución.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #6  
Antiguo 06-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Yo siempre añado una opción para ejecutar SQLs.
Incluso con un mantenimiento de esos sqls, se pueden guardar, ponerle una descripción de lo que hace, volver a ejecutarlos, borrarlos, modificarlos, etc.
Cada una almacena la fecha de creación, de ejecución, etc. en fin, un mantenimiento muy completo.
Se informa que esas sentencias a ejecutar pueden ser peligrosas si no saben lo que están haciendo y, además, se mantiene un registro de los sqls ejecutados por si acaso luego vienen con un "se han perdido las ventas de todo un año y yo no he tocado nada".
Miro la tabla de sqls ejecutados y veo una que dice: "delete from tbventas where year=2010"
Por supuesto, cuando se ha ejecutado la sentencia aparecen al terminar los botones "confirmar" y "cancelar", que hacen 'commit' y 'rollback', que es ahí donde al usuario le debería de caer las gotas de sudor por la frente pensando si le da a uno o a otro botón
Básicamente se usan para procesos repetitivos que ha pedido algún cliente y no merece la pena añadir un módulo para ello porque nadie más lo usaría.
Y también para cosas "nuestras", arreglos de meteduras de pata por parte del usuario, etc.

Última edición por Casimiro Notevi fecha: 06-09-2012 a las 10:41:14.
Responder Con Cita
  #7  
Antiguo 06-09-2012
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
bueno, pero los usuarios, los capacitarías en el uso de SQL? que tipo de usuarios son? porque si aun teniendo donde generar el query te van a llamar para que les generes un reporte, pues no serviría de mucho, como parte del sistema se me hace una opción muy buena, por ejemplo en mi trabajo, hay varios sistemas donde puedes generar querys, pero hay usuarios que no quieren generarlos y hablan para que les generen la información...
Responder Con Cita
  #8  
Antiguo 06-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Claro, normalmente es el cliente que llama con una petición del tipo: "Me haría falta un listado de los clientes que no tengan email, ordenados por nombre y agrupados por provincia".
Le paso el sql, se guarda, se le pone un título: "Clientes sin email, ordenados alfabéticamente y agrupados por provincia". Así pueden ejecutarlo cuando lo necesiten otra vez.
Además el resultado se puede imprimir, exportar a pdf, txt, csv, xls, html, etc.

p.d. Por cierto, normalmente me conecto por control remoto y yo hago todo el proceso.

p.d.2: Así era en la empresa en la que ya no trabajo, y en la anterior, y en la anterior a la anterior...
Responder Con Cita
  #9  
Antiguo 06-09-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Lo que quiero lograr es lo que dice Casimiro. Yo haria los querys se los paso ya ellos los ejecutan. Voy a implementarlo y les cuento como quedó igual y le sirva a alguien.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #10  
Antiguo 06-09-2012
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Pues a lo mejor yo soy el unico que piensa en el $$, pero para mi es una oportunidad de negocio el que le desarrollemos todos los reportes que necesite.
__________________
Ya tengo Firma!
Responder Con Cita
  #11  
Antiguo 06-09-2012
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.471
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Yo siempre añado una opción para ejecutar SQLs.
Incluso con un mantenimiento de esos sqls, se pueden guardar, ponerle una descripción de lo que hace, volver a ejecutarlos, borrarlos, modificarlos, etc.
Cada una almacena la fecha de creación, de ejecución, etc. en fin, un mantenimiento muy completo.
Se informa que esas sentencias a ejecutar pueden ser peligrosas si no saben lo que están haciendo y, además, se mantiene un registro de los sqls ejecutados por si acaso luego vienen con un "se han perdido las ventas de todo un año y yo no he tocado nada".
Miro la tabla de sqls ejecutados y veo una que dice: "delete from tbventas where year=2010"
Por supuesto, cuando se ha ejecutado la sentencia aparecen al terminar los botones "confirmar" y "cancelar", que hacen 'commit' y 'rollback', que es ahí donde al usuario le debería de caer las gotas de sudor por la frente pensando si le da a uno o a otro botón
Básicamente se usan para procesos repetitivos que ha pedido algún cliente y no merece la pena añadir un módulo para ello porque nadie más lo usaría.
Y también para cosas "nuestras", arreglos de meteduras de pata por parte del usuario, etc.


(¿se nota que tengo poco tiempo para escribir mis respuestas?)
__________________
Be water my friend.
Responder Con Cita
  #12  
Antiguo 06-09-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
p.d. Por cierto, normalmente me conecto por control remoto y yo hago todo el proceso.
Idem..

Saludos
Responder Con Cita
  #13  
Antiguo 06-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por juanelo Ver Mensaje
Pues a lo mejor yo soy el unico que piensa en el $$, pero para mi es una oportunidad de negocio el que le desarrollemos todos los reportes que necesite.
Amigo, pero es que el tiempo que estoy atendiendo a ese cliente... se le cobra. Y la creación del SQL también.

Normalmente es algo así como:
Cita:
Petición de servicio técnico remoto.
Creación de sql (básica/media/compleja)
Instalación y explicación al cliente del funcionamiento y posibilidades.
Tiempo total invertido....: 30 minutos.
Tenemos un "control de seguimiento" donde anotamos todo lo que hacemos y luego es la administración de la empresa la que se encarga de pasar la factura al cliente.

Juanelo, al contrario, así se gana más dinero, si creas un informe ya no le sacas más rendimiento porque es igual para todos
Responder Con Cita
  #14  
Antiguo 06-09-2012
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Juanelo, al contrario, así se gana más dinero, si creas un informe ya no le sacas más rendimiento porque es igual para todos
Ya decía yo, ahora me siento mejor ...
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Creación de sql (básica/media/compleja)
Instalación y explicación al cliente del funcionamiento y posibilidades.
Tiempo total invertido....: 30 minutos.
Claro siendo Chuck Norris ...
__________________
Ya tengo Firma!
Responder Con Cita
  #15  
Antiguo 07-09-2012
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Hola.

En la empresa el producto tiene un generador de reportes creado por la misma compañia.

El usuario puede crear el diseño tal cual lo quiere. Luego puede asignar a las bandas del diseño las consultas y hasta subconsultas anidadas con parametros y todo. Para que muy bueno.

Pero por mucho que se le explique el manejo a los usuarios no dan para diseñar, modificar o buscar errores del generador de reportes. Y ahi viene entonces la llamada de soporte, la visita, capacitación si se requiere y por lo tanto el cobro.

Ten encuenta que el hecho de que tu aplicación tenga un diseñador de reportes le dará un beneficio/servicio mas que otros productos similares (lo tengan o carezcan de el). Esto hará que tu aplicación se pueda vender como mas personalizable. Ello no conllevará a perder los ingresos por soporte o diseño de reportes sino que generará otro tipo de servicio/soporte del cual podrás usar como herramienta de trabajo la propia herramienta y además algunos reportes bastante complejos no podrán ser generados por la herramienta.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #16  
Antiguo 07-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por juanelo Ver Mensaje
Ya decía yo, ahora me siento mejor ...
Claro siendo Chuck Norris ...
je, je, je...

Cita:
Empezado por movorack Ver Mensaje
...
Sí, lo que comentas es así, es una oportunidad añadida para captar más trabajos/servicios/... dinero
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como hacer una buena presentacion? gonza_619 Varios 3 08-03-2010 11:18:09
No tengo idea de como hacer esto Alejo15x Varios 2 28-01-2010 23:42:14
¿es Buena Idea Usar Delphi 7? CHALS Varios 6 10-11-2007 03:10:54
Que el usuario pueda cambiar o generar su propio reporte jourdan Impresión 5 19-04-2004 19:14:18
Buena codigo para hacer una busqueda edwin1 OOP 2 12-09-2003 20:35:00


La franja horaria es GMT +2. Ahora son las 16:01:13.


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