FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Tabular consulta segun el nivel
Hola Foro:
Estoy Utilizando InterBase y Delphi 7 y Necesito hacer una consulta tabulada. Ahora hago Select nivel, Cuenta from plan de cuentas El Resultado es: Nivel Cuenta 1 Activo 2 Activo Corriente 3 Disponibilidades 4 Bancos 5 Banco PEPE 5 Banco Toto 5 Banco Pipo Necesito que el campo nivel haga un string para que quede algo así: Activo ..Activo Corriente ....Disponibilidades ......Bancos ........Banco PEPE ........Banco Toto ........Banco Pipo Por ahora se me ocurrió crear un campo "Espacios", donde guardo los espacios en blanco de acuerdo al campo nivel, pero no me gusta. ¿Alguna Idea? Desde ya gracias por su atención. |
#2
|
||||
|
||||
La consulta está bien, lo que necesitas conseguir es que la visualización en pantalla salga "tabulada".
Si buscas información sobre el evento OnGetText en los foros verás que hay muchos ejemplos. Básicamente te permite modificar el valor que se visualiza de un campo cuando lo muestras en un DBGrid. (ej1, ej2,...); de esta forma lo único que debes hacer es añadir a tu valor X espacios por delante segun el campo nivel. Revisa también DupeString para montar una cadena de n espacios.
__________________
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. |
#3
|
||||
|
||||
Hola Carmelo, como te dice el amigo Neftali puedes utilizar el evento OnGetText de tu campo Cuenta y quedaría mas o menos así:
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#4
|
||||
|
||||
Otra forma sería desde la propia SQL hacer un case para concatenar tantos espacios como nivel, así el programa cliente recibiría la información directamente para presentarla en el grid, listado, ... o donde sea.
Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#5
|
|||
|
|||
los componentes Jedi traen un componente que se llama DBTreeView, que te podria servir, solo que necesita al menos 3 campos, 1 el id del padre, 2 id del elemento en si y 3 el texto o caption del elemento
|
#6
|
||||
|
||||
Casi Casi !!!
Gracias por su ayuda. Estuve haciendo algunas pruebas y casi me sale.
Probando esto en MySQL sale bién select left('----------------------', (nivel )) + Cuenta from Cuentas Quise hacer el equivalente en InterBase, quedaría así: select Cast('----------------------' as Varchar(nivel ))||Cuenta from Cuentas Pero Varchar(nivel ) . No lo reconoce. Seguiré probando, Espero si a alguien se le ocurre una Idea. Porfavor... que no sea Migrar a MySQL. Saludos y gracias por las sugerencias recibidas. |
#7
|
||||
|
||||
Te dejo una query para que la pruebes.
Probada en Firebird 2.0 Te queda de deberes concatenar los campos y poner los de tu tabla
resultado
Suerte
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#8
|
||||
|
||||
No .
Gracias fjcg02, pero esta debe ser una de las diferencias entre IbterBase y FireBird, me da:
"Token unknown - line 2, char 16 when" select case nivel when 1 then '-' when 2 then'--' when 3 then '---' end as nivel, Cuenta from cuentas No se... Gracias por sus aportes. |
#9
|
||||
|
||||
En interbase funciona iif() ?
prueba substring('-------', 1,nivel) si es que la funcion existe. Un procedimiento almacenado ? ¿ Cambiar interbase por firebird ? ;-) Ya nos dirás. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿En que nivel estoy? - ¿En que nivel estas? | movorack | Varios | 46 | 20-06-2008 21:19:26 |
Consulta que muestre Si o No segun el valor | Cecil | SQL | 4 | 17-01-2008 00:49:38 |
Nivel de bateria de una laptop | dagsoft | API de Windows | 1 | 14-01-2008 19:38:08 |
Consulta que obtiene campos de una tabla u otra según condición | Gabo | SQL | 10 | 20-08-2007 08:53:02 |
jedi cvs: manejar versiones a nivel módulo y a nivel proyecto | pvizcay | Varios | 3 | 17-04-2007 16:17:59 |
|