Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 sigo con problemas con el sistema de reservas
 Foro Bloqueado  Tema Bloqueado


Autor Temas
frangomor
Starting Member


9 Posts
Mensajes - 10 Nov 2005 :  14:20:32  Ver Perfil  Enviar Email
Muy buenas. A ver, creo que me estoy liando con el tema de las
reservas y las consultas. Os planteo todo lo que tengo hasta ahora,
por si vosotros creéis que existe otra forma mejor de hacerlo. El
tema es el siguiente.:

Tengo una base de datos, llamada `reservas.mdb' con cuatro tablas. La
tabla `Reservas', la tabla `Dias', la tabla `Meses' y la
tabla `Anualidad'. Cada una de estas tablas tiene los siguientes
campos:
Tabla Dias:
Campo IDDia---Autonumérico
Campo dia—Recoge los 31 dias de un mes (1, 2, 3, …, 31)

Tabla Meses:
Campo IDMes—Autonumérico
Campo Mes---Recoge los 12 meses del año, del 1 al 12.(los recoge en
números)

Tabla Anualidad:
Campo IDAnualidad—Autonúmerico
Campo Anualidad—Recoge los años. Yo he puesto hasta el 2010
(2005,2006,2007,2008,2009,2010)

Tabla Reservas:
Campo IDReservas—Autonumérico
Campo DiaEntrada—Recoge el valor del dia de entrada en la habitación
Campo MesEntrada-- Recoge el valor del mes de entrada en la habitación
Campo AnualidadEntrada-- Recoge el valor del año de entrada en la
habitación
Campo DiaSalida-- Recoge el valor del dia de salida en la habitación
Campo MesSalida-- Recoge el valor del mes de salida en la habitación
Campo AnualidadSalida-- Recoge el valor del año de salida en la
habitación


A su vez, tengo un formulario para comprobar si existe disponibilidad
de la habitación en una determinada fecha o no. Si estuviera
disponible, esa fecha en la que está interesado el visitante la
incorpora a la base de datos y esa habitación ya está reservada. En
caso de que esa fecha no estuviera disponible, manda el mensaje de
habitación no disponible.

Así pues, mis páginas son las siguientes:

Página formulario.asp

<TABLE cellSpacing=0 cellPadding=0 border=0 align="center">
<TBODY>
<TR>
<TD class="text2">&nbsp;</TD></TR>
<!-- tabla de consulta -->
<table cellpadding=4 cellspacing=2 border=0 bgcolor="#c6d2e2">
<tr>
<td colspan="2" class="style4"><b>Prueba del Módulo de Reservas
Online</b></td>
</tr>
<form method=post name="NuevoEnlace" action="adact.asp"
onSubmit="return Chequear();" onReset="return Limpiar();">
<tr bgcolor="#FFFFFF">
<td class="txt4">Del</td>
<TD class="txt4">

<%
Dim conn, ConnectString, rsdia

ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.Mappath("reservas.mdb") & ";Persist Security Info=False"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
<%
sql = "SELECT Dias.* FROM Dias ORDER BY dia ASC"
Set rsdia = Server.CreateObject("ADODB.Recordset")
rsdia.Open sql, conn, 3, 3
%>
<table>
<tr>
<TD class="txt4">
<select name="DiaEntrada" class="txt6">
<option value="">Dia
<option value="">-----
<%if not rsdia.EOF then
rsdia.Movefirst
do until rsdia.EOF
%> <option value="<%=rsdia("dia")%>"><%=rsdia("dia")%></option>
<% rsdia.Movenext
loop
rsdia.Movefirst
end if
%></select>

</td></tr></table></DIV>
</TD>
<TD class="txt4">

<%
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.Mappath("reservas.mdb") & ";Persist Security Info=False"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
<%
sql = "SELECT Meses.* FROM Meses"
Set rsmes = Server.CreateObject("ADODB.Recordset")
rsmes.Open sql, conn, 3, 3
%>
<table>
<tr>
<TD class="txt4">
<select name="MesEntrada" class="mes">
<option value="">Mes
<option value="">-------------------
<%if not rsmes.EOF then
rsmes.Movefirst
do until rsmes.EOF
%> <option value="<%=rsmes("mes")%>"><%=rsmes("mes")%></option>
<% rsmes.Movenext
loop
rsmes.Movefirst
end if
%></select>

</td></tr></table></DIV>
</TD>
<TD class="txt4">

<%
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.Mappath("reservas.mdb") & ";Persist Security Info=False"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
<%
sql = "SELECT Anualidad.* FROM Anualidad ORDER BY Anualidad ASC"
Set rsanualidad = Server.CreateObject("ADODB.Recordset")
rsanualidad.Open sql, conn, 3, 3
%>
<table>
<tr>
<TD class="txt4">
<select name="AnualidadEntrada" class="mes">
<option value="">Año
<option value="">-------------------
<%if not rsanualidad.EOF then
rsanualidad.Movefirst
do until rsanualidad.EOF
%> <option value="<%=rsanualidad("Anualidad")%>"><%=rsanualidad
("Anualidad")%></option>
<% rsanualidad.Movenext
loop
rsanualidad.Movefirst
end if
%></select>

</td></tr></table></DIV>
</TD></tr>
<tr bgcolor="#FFFFFF">
<td class="txt4">Al</td>
<TD class="txt4">

<%
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.Mappath("reservas.mdb") & ";Persist Security Info=False"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
<%
sql = "SELECT Dias.* FROM Dias ORDER BY dia ASC"
Set rsdia = Server.CreateObject("ADODB.Recordset")
rsdia.Open sql, conn, 3, 3
%>
<table>
<tr>
<TD class="txt4">
<select name="DiaSalida" class="txt6">
<option value="">Dia
<option value="">-------------------
<%if not rsdia.EOF then
rsdia.Movefirst
do until rsdia.EOF
%> <option value="<%=rsdia("dia")%>"><%=rsdia("dia")%></option>
<% rsdia.Movenext
loop
rsdia.Movefirst
end if
%></select>

</td></tr></table></DIV>
</TD>
<TD class="txt4">

<%
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.Mappath("reservas.mdb") & ";Persist Security Info=False"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
<%
sql = "SELECT Meses.* FROM Meses"
Set rsmes = Server.CreateObject("ADODB.Recordset")
rsmes.Open sql, conn, 3, 3
%>
<table>
<tr>
<TD class="txt4">
<select name="MesSalida" class="mes">
<option value="">Mes
<option value="">-------------------
<%if not rsmes.EOF then
rsmes.Movefirst
do until rsmes.EOF
%> <option value="<%=rsmes("mes")%>"><%=rsmes("mes")%></option>
<% rsmes.Movenext
loop
rsmes.Movefirst
end if
%></select>

</td></tr></table></DIV>
</TD>
<TD class="txt4">

<%
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.Mappath("reservas.mdb") & ";Persist Security Info=False"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
<%
sql = "SELECT Anualidad.* FROM Anualidad ORDER BY Anualidad ASC"
Set rsanualidad = Server.CreateObject("ADODB.Recordset")
rsanualidad.Open sql, conn, 3, 3
%>
<table>
<tr>
<TD class="txt4">
<select name="AnualidadSalida" class="mes">
<option value="">Año
<option value="">-------------------
<%if not rsanualidad.EOF then
rsanualidad.Movefirst
do until rsanualidad.EOF
%> <option value="<%=rsanualidad("Anualidad")%>"><%=rsanualidad
("Anualidad")%></option>
<% rsanualidad.Movenext
loop
rsanualidad.Movefirst
end if
%></select>

</td></tr></table></DIV>
</TD></tr>


<tr bgcolor="#FFFFFF">
<style>
.inputSubmit
{
color: #9EA7B4;
background-color: #FFFFFF;
border-color : #000000;
border-top : 1px solid;
border-bottom : 1px solid;
border-left : 1px solid;
border-right : 1px solid;
font-family : Verdana,tahoma,Arial;
font-size : 10px;
font-weight: bold;
}
</style>
<td colspan=2>
<DIV ALIGN="center"> <input type="submit" value="Aceptar"
class="inputSubmit"> <input type="reset" value="Limpiar Formulario"
class="inputSubmit">
</DIV> </td>
</tr>
</table></DIV>

Página adact.asp

<%
dim Diaentrada, Mesentrada, Anualidadentrada, Diasalida, Messalida,
Anualidadsalida

DiaEntrada = Request.Form("DiaEntrada")
MesEntrada = Request.Form("MesEntrada")
AnualidadEntrada = Request.Form("AnualidadEntrada")
DiaSalida = Request.Form("DiaSalida")
MesSalida = Request.Form("MesSalida")
AnualidadSalida = Request.Form("AnualidadSalida")
dim cnn,rsreservas
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rsreservas = Server.CreateObject("ADODB.RecordSet")
cnn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("reservas.mdb"))
sqltext = "SELECT * FROM Reservas where (DiaEntrada
between "&DiaEntrada&" and "&DiaSalida&") and (DiaSalida
between "&DiaEntrada&" and "&DiaSalida&")"
rsreservas.Open sqltext,cnn,3,3
if not rsreservas.EOF then
%>
habitación no disponible
<%
else
%>
habitacion disponible
<%
end if%>
--------------
bien. Aquí es donde me encuentro con los problemas. En este archivo
adact.asp, hago una consulta a la base de datos reservas indicándoles
que si la fecha de entrada o de salida que introducen está
comprendida entre las fechas de entradas o salidas que hay en la base
de datos, me de el mensaje de HABITACIÓN NO DISPONIBLE, y en caso
contrario, que de el mensaje de HABITACIÓN DISPONIBLE. hasta ahí
correcto. el problema es que no sé como meter que no sólo sea el día,
sino que sea también el mes y el año. es decir, ahora mismo con lo
que tengo, si meto 01/01/2005 al 03/01/2005, y en la base de datos
está reservada del 01/01/2005 al 02/01/2005, me da el mensaje de
HABITACIÓN NO DISPONIBLE. pero si meto del 01/02/2005 al 03/02/2005,
también me da HABITACIÓN NO DISPONIBLE, pues obviamente yo no estoy
considerando en la consulta el mes ni el año. como puedo hacer esto?
no sé si me explico o si lo estoy orientando bien. gracias por
vuestra ayuda.


jbarra
Junior Member

Chile
192 Posts
Posted - 10 Nov 2005 :  15:52:48  Ver perfil  Enviar e-mail
Prueba darle el formato a la fecha

format(DiaEntrada, 'mm/dd/yyyy')

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar