Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problema de un reporte por rango de fechas en Access 2007

Estas en el tema de Problema de un reporte por rango de fechas en Access 2007 en el foro de Bases de Datos General en Foros del Web. Hola a todos los miembros de este web!!! soy nuevo en este foro y sé que aquí puedo encontrar la solución a mi problema. soy ...
  #1 (permalink)  
Antiguo 12/05/2010, 10:34
 
Fecha de Ingreso: mayo-2010
Mensajes: 12
Antigüedad: 13 años, 11 meses
Puntos: 2
Pregunta Problema de un reporte por rango de fechas en Access 2007

Hola a todos los miembros de este web!!! soy nuevo en este foro y sé que aquí puedo encontrar la solución a mi problema.

soy prácticante de una universidad y me han designado una aplicación web que administre cursos y proporcione estadísticas.

le informo lo siguiente:

*la base de datos es Access 2007
*tengo una tabla Cursos que contiene los campos:
-cd_curso(código)
-nombre
-fecha_inicio
-fecha_fin
-b_interno(el curso es interno o externo)
-n_participe(N° de estudiantes)

las fechas de inicio y final tienen el formato de fecha corta (19/06/2007)

La pagina ASP tiene estas instrucciones:

'capturo el rango de fechas en un formulario
f_inicio= Cdate(Request("f_inicio"))
Session("f_inicio") = f_inicio
f_final= Cdate(Request("f_final"))
Session("f_final") = f_final


'Cadena de la sentencia SQL que consulto
strSQL = "SELECT cd_curso, nombre, fecha_inicio, n_participe FROM Cursos WHERE fecha_inicio BETWEEN #"&f_inicio&" 00:00:00# AND #"&f_final&" 23:59:59#"

Set RS = oConn.Execute(strSQL)
If (RS.EOF = true) then

'si está vacía, creo una cadena que lo informe
listcourse="No hay resultados que cumplan su criterio"
else

'sino, creo una tabla con los datos
listcourse="<table width='97%' border='1' class='Estilos'> <tr> <td width='7%' valign='top'>No </td> <td width='15%' valign='top'>Fecha de Inicio DD/MM/YYYY</td> <td width='53%' valign='top'>Nombre del Curso </td> <td width='15%' valign='top'>N de Horas </td> <td width='10%' valign='top'>N de Participantes </td> </tr>"

j = 1
totalhorasall = 0
totalstudentall = 0
while (not RS.Eof)
listcourse = listcourse & "<td bgcolor=#FFFFFF valign='top' class='textos'>"&j&"</td> <td bgcolor=#FFFFFF valign='top' class='textos'>"&RS("fecha_inicio")&"</td> <td bgcolor=#FFFFFF valign='top' class='textos'>"&RS("nombre")&"</td>"
cd_curso = RS("cd_curso")
totalhoras = 0
strSQL = "Select horas from modulos where cd_curso like "&cd_curso&""
Set RSH = oConn.Execute(strSQL)
while (not RSH.Eof)
totalhoras = totalhoras + CDbl(RSH("horas"))
RSH.MoveNext
wend
listcourse = listcourse &"<td bgcolor=#FFFFFF valign='top' class='textos'>"&totalhoras&"</td>"

listcourse = listcourse &"<td bgcolor=#FFFFFF class='textos' valign='top'>"&RS("n_participe")&"</td></tr>"
totalhorasall = totalhorasall + totalhoras
totalstudentall = totalstudentall + CDbl(RS("n_participe"))
j = j + 1
RS.MoveNext
wend
listcourse = listcourse & "</table>"
tbresult = "<table width='50%' border='1' class='Estilos'> <tr> <td width='15%' valign='top'>Total de Cursos</td> <td width='55%' valign='top'>Total de Horas </td> <td width='25%' valign='top'>Total de Estudiantes</td> </tr> <tr> <td bgcolor=#FFFFFF valign='top' class='textos'>"&(j-1)&"</td> <td bgcolor=#FFFFFF valign='top' class='textos'>"&totalhorasall&"</td> <td bgcolor=#FFFFFF valign='top' class='textos'>"&totalstudentall&"</td> </tr>"
end if



Resalte la sentencia SQL en rojo para ver si es esa la que me está dando resultados no deseados porque funciona en algunos casos y en otros me arroja todos los cursos.
y lo que necesito es que me arroje los resultados correctos.

por eso acudo a ustedes que creo que también habrán pasado por este problema con Access y quiero que me suguieran sentencias SQL a Access 2007 para ir probrando las que me puedan enviar.

y desde ahora muchas gracias.
  #2 (permalink)  
Antiguo 13/05/2010, 01:06
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Problema de un reporte por rango de fechas en Access 2007

Prueba dandole formato emericano a las fechas:

strSQL = "SELECT cd_curso, nombre, fecha_inicio, n_participe FROM Cursos WHERE fecha_inicio BETWEEN #" & Format(f_inicio, "mm/dd/yyyy") & " # AND # " & Format(f_final, "mm/dd/yyyy") & "#"

Te vendra bien leer este articulo sobre el uso de las fechas en access:

http://elmundomagicodeltaribo.blogsp...en-access.html

Un saludo
  #3 (permalink)  
Antiguo 13/05/2010, 16:30
 
Fecha de Ingreso: mayo-2010
Mensajes: 12
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Problema de un reporte por rango de fechas en Access 2007

gracias Taribo007, ese material de Access me ayudará mucho.

Saludos

Etiquetas: access, fechas, rango, reporte
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




La zona horaria es GMT -6. Ahora son las 18:21.