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.