Foros del Web » Programando para Internet » ASP Clásico »

Consulta de fechas en una base de datos

Estas en el tema de Consulta de fechas en una base de datos en el foro de ASP Clásico en Foros del Web. Hola amigos os explico mi problema. Resulta q tengo 1 tabla de un gimnasio donde el usuario reserva la actividad y la hora en que ...
  #1 (permalink)  
Antiguo 05/02/2003, 17:38
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 23 años
Puntos: 0
Consulta de fechas en una base de datos

Hola amigos os explico mi problema.
Resulta q tengo 1 tabla de un gimnasio donde el usuario reserva la actividad y la hora en que desea hacerla.

La introduccion de los datos en la base de datos la hace correctamente.

El problema esta al visualizar los resultados de las reservas que se han hecho, pues tengo una pagina que me genera todas las fechas, esa fecha se muestra de un color u otro si esta reservada. El problema es que aveces me muestra la reserva y otras no. Le he dado mil vueltas al codigo y no encuentro el problema os lo pongo para que le podais hechar un vistazo

<%
inter=4
fecha5=date
SEMANA=Request.Form("sema")
if semana="I" then semana=0
%>

<%FECHA3=fecha5/1-37646%>
<%N1=FECHA3/7%>
<%ARREGLO=SPLIT(N1,",")
N3=ARREGLO(0)%>
<form method="POST" action="tablon2.asp">

<p align="center">Seleccione la semana para ver reservas&nbsp; <%
for fi=-inter to inter
fini=FORMATDATETIME(FECHA5-FECHA3+N3*7+fi*7+2)
ffin=FORMATDATETIME(FECHA5-FECHA3+N3*7+fi*7+6)
'---------------
finico=day(fini)&"/"&Month(fini)&"/"&Year(fini)
finica=day(ffin)&"/"&Month(ffin)&"/"&Year(ffin)
'--------------


%>
<%
if fi=-inter then
response.write ("<select size='1' name='sema'>")
response.write ("<option value='"&fi&"'>"&finico&" al "&finica&"</option>")
else
IF fi=0 THEN
response.write ("<option value='I' SELECTED>"&date&" (hoy)</option>")
ELSE
response.write ("<option value='"&fi&"'>"&finico&" al "&finica&"</option>")
END IF
end if
finico=""
finica=""
next
response.write ("</select>")
%>
<input type="submit" value="Enviar" name="B1"></p>
</form>

<%SEM=SEMANA%>
<%FECHA2=fecha5+7*SEM%>
<%FECHA=FECHA2/1-37611%>
<%N1=FECHA/7%>
<%ARREGLO=SPLIT(N1,",")
N=ARREGLO(0)%>
<%LUNES1=FORMATDATETIME(FECHA2-FECHA+N*7+2)%>
<%MARTES2=FORMATDATETIME(FECHA2-FECHA+N*7+3)%>
<%MIERCOLES3=FORMATDATETIME(FECHA2-FECHA+N*7+4)%>
<%JUEVES4=FORMATDATETIME(FECHA2-FECHA+N*7+5)%>
<%VIERNES5=FORMATDATETIME(FECHA2-FECHA+N*7+6)%>
<%lunes=day(lunes1)&"/"&month(lunes1)&"/"&year(lunes1)
martes=day(martes2)&"/"&month(martes2)&"/"&year(martes2)
miercoles=day(miercoles3)&"/"&month(miercoles3)&"/"&year(miercoles3)
jueves=day(jueves4)&"/"&month(jueves4)&"/"&year(jueves4)
viernes=day(viernes5)&"/"&month(viernes5)&"/"&year(viernes5)



%>

<p align="center"><b><font size="6">Semana del <font color="#0000FF">Lunes <%=lunes%>
</font>al <font color="#0000FF">Viernes <%=viernes%></font></b></p>



<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100" rowspan="2" valign="middle">
<p align="center"><a href="javascript:location.reload();">Actualizar</a></td>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b>LUNES</b></td>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b>MARTES</b></td>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b>MIERCOLES</b></td>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b>JUEVES</b></td>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b>VIERNES</b></td>
</tr>
<tr>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b><%=LUNES%></b></td>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b><%=MARTES%></b></td>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b><%=MIERCOLES%></b></td>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b><%=JUEVES%></b></td>
<td colspan="2" valign="middle" align="center" bgcolor="#FFFF66" style="border: 1 solid #000000"><b><%=VIERNES%></b></td>
</tr>
<tr>
<td width="100" valign="middle" bgcolor="#800000" style="border: 2 solid #000000"><font color="#FFFFFF"><b>HORA</b></font></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SQ</font></b></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SA</font></b></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SQ</font></b></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SA</font></b></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SQ</font></b></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SA</font></b></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SQ</font></b></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SA</font></b></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SQ</font></b></td>
<td valign="middle" align="center" bgcolor="#800000" style="border: 2 solid #000000"><b><font color="#FFFFFF">SA</font></b></td>
</tr>

<%

'Abre la conexion con la base de datos a traves de una conexion ODBC
set result = Server.CreateObject("ADODB.RecordSet")
Set con = Server.CreateObject("ADODB.Connection")
con.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/reservas.mdb"))


for hor=1 to 26
hora2=hor
response.write ("<td width='100' style='border: 2 solid #000000'>"&hora2&"</td>")

for fec=1 to 5

if fec=1 then
fec2=LUNES
END IF
if fec=2 then
fec2=MARTES
END IF
if fec=3 then
fec2=MIERCOLES
END IF
if fec=4 then
fec2=JUEVES
END IF
if fec=5 then
fec2=VIERNES
END IF

'Ejecuta un sentencia SQL de consulta
sql = "SELECT * FROM reserva WHERE fecha=#"&fec2&"# AND hora="&hor&" AND reserva='Sauna'"
'response.write (sql)
Set result = con.Execute(sql)
sql2 = "SELECT * FROM reserva WHERE fecha=#"&fec2&"# AND hora="&hor&" AND reserva='Squash'"
'response.write (sql2)
Set result2 = con.Execute(sql2)


'Recorre todas las filas del resultado
If result2.EOF = True then
response.write ("<td style='border: 2 solid #000000'>"&hor&"-"&fec2&"</td>")
else
response.write ("<td bgcolor='FF0000' style='border: 2 solid #000000'>"&hor&"-"&fec2&"</td>")
end if
result2.Close
Set result2 = Nothing

'Recorre todas las filas del resultado
If result.EOF = True then
response.write ("<td style='border: 2 solid #000000'>"&hor&"-"&fec2&"</td>")
else
response.write ("<td bgcolor='FF0000' style='border: 2 solid #000000'>"&hor&"-"&fec2&"</td>")
end if
result.Close
Set result = Nothing

next
response.write "</tr>"
next

con.Close
Set con = Nothing
%>
</table>
</center>
</div>



Última edición por jpalbox; 06/02/2003 a las 16:51
  #2 (permalink)  
Antiguo 05/02/2003, 18:24
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 4 meses
Puntos: 4
yo lo haria asi:
crearia 2 recordset y dos consultas sql, asi los autonumericos asi se repitan no importa.

espero te sirva de ayuda.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #3 (permalink)  
Antiguo 08/02/2003, 05:29
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 23 años
Puntos: 0
Ni una pequeña idea?

  #4 (permalink)  
Antiguo 08/02/2003, 07:14
 
Fecha de Ingreso: enero-2002
Mensajes: 90
Antigüedad: 23 años, 3 meses
Puntos: 0
lo que puedo ayudar es en esto
si el campo en la base de datos es de tipo fecha tienes
que enviarle en el sql la fecha en ingles.

ejemplo

sql="SELECT * FROM t_x " & _
"WHERE cp_fecha = #mm/dd/aaaa# "

haber
  #5 (permalink)  
Antiguo 08/02/2003, 12:07
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 23 años
Puntos: 0
Lo estoy probando en dos tipos de servidores uno ingles y otro local pero nada sigue aparecindo los resultados solo algunas veces.
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 10:49.