![]() |
sacar filas y columnas desde base de datos (Profgrid)
hola.
Me estado rompiendo la cabeza para pintar los datos de una tabla en un profgrid. Basicamente lo que quiero hacer es sacar la información de un autobus (id, placa, fecha) y los montos diarios que recaudan quedando los datos asi: id placa1--id placa2--id placa3 Fecha xxx monto1 monto2 monto3 xxx monto1 monto2 monto3 xxx monto1 monto2 monto3 ya la información me la saca pero solo del ultimo día, asi que ocuparía (creo yo) comparar cada fila con la info del SQL para poder pintar en cada fila la información del dia correspondiente hasta la 30, pero no me da la cabeza en este momento. Alguien me puede ayudar, ah, utilizo: TQUERY y el componente Profgrid. Este el procedimiento que pongo en el botón:
|
Por favor, lee la guía de estilo de los foros, tienes el enlace arriba.
- No dices qué Base de datos usas. - No indicas la SQL que usas ni lo que quieres obtener. - ¿Cual es el problema o el error que da? PD: usa las etiquetas delphi para mostrar el código, así es muy dificil seguirlo y pocos foristas leeran tu código por no estar bien presentado. [ delphi ] tu codigo fuente aqui [ / delphi ] sin espacios dentro de los corchetes. Saludos |
Muchas gracias por la respuesta Lepe, tenés toda la razón, indico como lo estoy trabajando con las sugerencias tuyas:
-utilizo INTERBASE como motor de BD -El error es que me saca solo los datos de la última fecha y no día por día (esto es básicamente lo que quiero sacar) -La SQL que utilizo es: -el còdigo que pongo en el botón es:
|
sacar filas y columnas desde base de datos (Profgrid)
Hola, a consideración de Lepe pongo de nuevo este hilo para ver quièn me puede ayudar.
-utilizo INTERBASE como motor de BD -utilizo un componente profGrid -El error es que me saca solo los datos de la última fecha y no día por día (esto es básicamente lo que quiero sacar), si me presenta los dias del 1 al 30 pero con los datos del ultimo día. -La SQL que utilizo es:
-el código que pongo en el botón es:
A ver si se entiende... |
RecordCount que yo sepa, solo funciona en Bases como paradox, en Interbase no devuelve el valor correcto (por temas de eficiencias).
el bucle:
Puede ser sustituido perfectamente por:
Creo que por ahí viene el error, si no es eso, tendrías que añadir en la cláusula "group by mes"... (de esto último no estoy seguro, solo lo intuyo, prueba antes lo del bucle). Saludos. |
gracias Lepe por tu respuesta y perdona tanta idiotez que hice con tanto mensaje duplicado...perdón :eek:
ya probe con el bucle pero me da un error de "gridindex out of range" o algo asi. Asumo que hay que hacer puros IF para validar cada fila de acuerdo a los datos que se van sacanndo de la base de datos (comparar filas contra info de BD), pero no se como hacerlo, o sea, serían 30 (días del mes) clausulas IF o me estaré volviendo loco? Saludos. |
Pues no sé bien.
Creo que quieres hacer esto: Código:
id placa1 id placa2 id placa3Primero, no te guíes de lo que hay en la base de datos para pintar las fechas, Haz una rutina que modifique el Grid y añada tantas filas como días tenga el mes en curso (que puede ser 28 o 29 para febrero, y 30 y 31 para el resto de meses). para situar un registro en la fila que le corresponde, usa la función DayOf(date:TDatetime) para saber el día, que lo usarás como fila (ya que la fila cero será la fila de los títulos del Grid). Pide la consulta ordenada por "placa" que supongo será la matrícula del autobús, y entonces puedes guiarte para rellenar toda la columna de datos. Saludos y espero que sea lo que necesitas. |
Cita:
Usa ColCount y/o RowCount para que no ocurra. Saludos |
Gracias Lepe, te agradezco mucho, me sirvio de mucho tu ayuda, ya me carga el grid bien y los datos de cada dia estan bien.
Ahora nada mas presento eso con un boton que genera un reporte y listo. GRACIAS. |
| La franja horaria es GMT +2. Ahora son las 08:44:57. |
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