Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

consulta de informacion

Estas en el tema de consulta de informacion en el foro de Visual Basic clásico en Foros del Web. Un saludo a todos los usuarios de foros del web, tengo un problema no puedo realizar una consulta a mi base de datos mysql 5, ...
  #1 (permalink)  
Antiguo 28/09/2008, 10:16
 
Fecha de Ingreso: abril-2008
Mensajes: 51
Antigüedad: 16 años
Puntos: 0
consulta de informacion

Un saludo a todos los usuarios de foros del web, tengo un problema no puedo realizar una consulta a mi base de datos mysql 5, la situacion radica de la siguiente manera : debo elaborar una consulta de alumnos de la siguiente forma:

Nombre alumno, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto
Jose Pérez x x x x x x x x

Lo anterior lo ingreso en un datagrid, pero la informacipon se me despliega hacia abajo y no de forma horizontal como lo necesito.

Lo anterior indicaria que el alumno Jose Perez ha cancelado los meses de Enero a Agosto, pero en mi tabla meses, los campos que tengo solo son idmes y mes, por lo que no puedo agregar los meses que necesito a mi datagrid ya que mi tabla no contiene los 12 meses,es decir , no puedo agregar mas columnas con los nombres de los meses porque en mi tabla no existen, al efectuar la consulta me despliega en forma vertical la informacion es decir me escribe 8 veces hacia abajo el nombre del alumno y a la par los meses que canceló en dos columnas solamente, y lo que deseo es presentar la informacion en forma horizontal tal como lo escribi anteriormente, ya he intentado de varias formas pero no logro hacerlo, por favor necesito de su ayuda para resolver este problema.

Cabe mencionar que ya utilice as en mi select y nada he estado intentando crear vitas y tampoco
  #2 (permalink)  
Antiguo 29/09/2008, 10:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: consulta de informacion

No sé si es posible hacerlo directamente con una consulta SQL. Tal vez podrías cargar los datos manualmente en un FlexGrid .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 30/09/2008, 01:20
 
Fecha de Ingreso: abril-2008
Mensajes: 51
Antigüedad: 16 años
Puntos: 0
Respuesta: consulta de informacion

Gracias por tu orientación David el Grande
  #4 (permalink)  
Antiguo 30/09/2008, 04:06
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: consulta de informacion

Hola,

se puede hacer con una consulta de Referencias Cruzadas:

Supongamos que la tabla 'Alumnos' tiene dos campos; Nombre y Mes

sql = "TRANSFORM Mes As [Mes] SELECT Nombre FROM Alumnos GROUP BY Nombre PIVOT [Mes] " & _
"In ('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto')"


Si esta consulta se la aplicas a un recordset y lo enlazas a un Grid, mostrará los datos como tú quieres.

  #5 (permalink)  
Antiguo 30/09/2008, 21:26
 
Fecha de Ingreso: abril-2008
Mensajes: 51
Antigüedad: 16 años
Puntos: 0
Respuesta: consulta de informacion

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola,

se puede hacer con una consulta de Referencias Cruzadas:

Supongamos que la tabla 'Alumnos' tiene dos campos; Nombre y Mes

sql = "TRANSFORM Mes As [Mes] SELECT Nombre FROM Alumnos GROUP BY Nombre PIVOT [Mes] " & _
"In ('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto')"


Si esta consulta se la aplicas a un recordset y lo enlazas a un Grid, mostrará los datos como tú quieres.

Gracias por tu información avellanda, pero quisiera exponerte con mas detalle como quisiea obtener mi consulta, tengo las siguientes tablas que voy a necesitar:
Alumnos, Pagos, Meses, Grados, Secciones, ciclos

De alumnos obtengo: Primer apellido, Segundo apellido, primer nombre, segundo Nombre,

De Pagos: idmes, estado.

Grados: grado

Secciones: seccion.

de ciclos : idciclo

Lo que en si necesito es obtener un informe de alumnos por grado, seccion y ciclo y que solo aparezca una vez el nombre del alumno seguido de forma horizontal con los meses que ha cancelado, para verificar si un mes esta cancelado tengo en la tabla pagos un campo llamado estado y el idmes, si el campo estado tiene el valor 1 y el idmes es 1 significa que enero esta pagado, pero si el valor del campo estado es 0 y el idmes es 1 eso denota que enero no ha sido cancelado aun, mi tabla meses NO es plana.

te agradeceria mucho si me pudieses ayudar con esta consulta ya que le he estado dando vueltas al asunto y necesitaria algo asi en la pantalla :

Alumno Enero Febrero Marzo Abril

Jose Perez x x x 0

Lo anterior indicaria que el alumno Juan Pérez ha cancelado los meses Enero Febrero y Marzo puesto que estan marcados con una x pero abril aun no estaria cancelado por aparecer con un 0.

Por último te agradeceria que tomaras en cuenta que actualmente estoy utilizando mysql 5 como motor de bases de datos...

Gracias por tu apoyo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:14.