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

problema con fecha

Estas en el tema de problema con fecha en el foro de ASP Clásico en Foros del Web. Hola amigos primero que todo muy feliza navidad bueno mi duda es la siguiente ojala me puedan ayudar: no me resulta buscar entre dos fechas ...
  #1 (permalink)  
Antiguo 26/12/2005, 10:26
Avatar de ivan floyd  
Fecha de Ingreso: diciembre-2005
Mensajes: 13
Antigüedad: 19 años, 4 meses
Puntos: 0
busqueda entre dos fechas

Hola amigos primero que todo muy feliza navidad
bueno mi duda es la siguiente ojala me puedan ayudar:
no me resulta buscar entre dos fechas en la base de datos aca esta el codigo, si alguien me puede ayudar de antemano gracias
no se cual sera el error, quiza es mas facil de lo que parece.
(el formulario)
<form name="form1" method="post" action="Consulta_entre_fecha2.asp">
<table width="200" border="1" bordercolor="#33CCFF" bgcolor="#000000">
<tr>
<td bgcolor="#66CCFF"><strong>FECHA:</strong></td>
<td bgcolor="#33CCFF"><input name="fecha" type="text1" id="fecha"></td>
<td bgcolor="#33CCFF"><input name="fecha" type="text2" id="fecha"></td>

<td bgcolor="#33CCFF"><input type="submit" name="Submit" value="Buscar"></td>
<td bgcolor="#33CCFF"><input type="reset" name="Submit" value="Restablecer">
</td>
</tr>
</table>

</form>
(el proceso)
<%fecha=request.Form("fecha")

Dim conexion, registros, basedatos, consulta

basedatos = Server.MapPath("./reservas.mdb")

Set conexion = Server.CreateObject("ADODB.Connection")

conexion.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & basedatos)

consulta = "SELECT * FROM auditorio where [auditorio.fecha] between '"&text1&"' and '"&text2&"'"
Set registros = conexion.Execute(consulta)
%>

<%if registros.EOF then%>
<h3 align="center">
<font color="#FF0000">No hay datos que coincidan con su petición </font></h3>
<p align="center"><a href="Consulta_entre_fecha1.asp">Intente de nuevo</a></p>
<%else%><br><br>

<div id="Layer1" style="position:absolute; left:124px; top:27px; width:753px; height:185px; z-index:1">
<table width="751" border="0">
<tr>

<th width="103" bgcolor="#66CCFF">Fecha
<th width="146" bgcolor="#66CCFF">Modulo
<th width="115" bgcolor="#66CCFF">Solicitante
<th width="162" bgcolor="#66CCFF">Comentarios </tr>
<%
Do while not registros.eof
%>
<tr>
<td align="center"><%=registros.Fields("fecha")%></td><br>
<td align="center"><%=registros.Fields("modulo")%></td>
<td align="center"><%=registros.Fields("solicitante")% ></td>
<td align="center"><%=registros.Fields("comentarios")% ></td>
</tr>

<%

registros.MoveNext

loop
registros.close
End if%>
</table>
<p align="center"><a href="Consulta_entre_fecha1.asp">Atras</a></p>
</div>
  #2 (permalink)  
Antiguo 26/12/2005, 18:15
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 20 años, 6 meses
Puntos: 1
consulta = "SELECT * FROM auditorio where [auditorio.fecha] between #"&text1&"# and #"&text2&"#"
Set registros = conexion.Execute(consulta)
__________________
3S-CRM
  #3 (permalink)  
Antiguo 27/12/2005, 06:15
Avatar de ivan floyd  
Fecha de Ingreso: diciembre-2005
Mensajes: 13
Antigüedad: 19 años, 4 meses
Puntos: 0
no funciona

Hola sabes que las lineas que pusiste no me funcionan me manda el siguiente error.

Información técnica (para personal de soporte técnico)

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis en la fecha en la expresión de consulta '[auditorio.fecha] between ## and ##'.
/prueba/consulta_entre_fecha22.asp, línea 16


Tipo de explorador:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322)

Página:
POST 57 bytes to /prueba/consulta_entre_fecha22.asp

Datos de POST:
fecha1=10%2F10%2F2006&fecha2=30%2F12%2F2006&Submit =Buscar

Hora:
martes, 27 de diciembre de 2005, 9:10:16
  #4 (permalink)  
Antiguo 28/12/2005, 08:23
Avatar de ivan floyd  
Fecha de Ingreso: diciembre-2005
Mensajes: 13
Antigüedad: 19 años, 4 meses
Puntos: 0
problema con fecha

hola yo de nuevo y con el mismo problema, e buscado o tratado de consegir la solucion pero no pasa na
porfa me puedan ayudar:
(el formulario)
<form name="form1" method="post" action="Consulta_entre_fecha2.asp">
<table width="200" border="1" bordercolor="#33CCFF" bgcolor="#000000">
<tr>
<td bgcolor="#66CCFF"><strong>FECHA:</strong></td>
<td bgcolor="#33CCFF"><input name="fecha" type="text1" id="fecha"></td>
<td bgcolor="#33CCFF"><input name="fecha" type="text2" id="fecha"></td>

<td bgcolor="#33CCFF"><input type="submit" name="Submit" value="Buscar"></td>
<td bgcolor="#33CCFF"><input type="reset" name="Submit" value="Restablecer">
</td>
</tr>
</table>

</form>
(el proceso)
<%fecha=request.Form("fecha")

Dim conexion, registros, basedatos, consulta

basedatos = Server.MapPath("./reservas.mdb")

Set conexion = Server.CreateObject("ADODB.Connection")

conexion.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & basedatos)

consulta = "SELECT * FROM auditorio where [auditorio.fecha] between '"&text1&"' and '"&text2&"'"
Set registros = conexion.Execute(consulta)
%>

<%if registros.EOF then%>
<h3 align="center">
<font color="#FF0000">No hay datos que coincidan con su petición </font></h3>
<p align="center"><a href="Consulta_entre_fecha1.asp">Intente de nuevo</a></p>
<%else%><br><br>

<div id="Layer1" style="position:absolute; left:124px; top:27px; width:753px; height:185px; z-index:1">
<table width="751" border="0">
<tr>

<th width="103" bgcolor="#66CCFF">Fecha
<th width="146" bgcolor="#66CCFF">Modulo
<th width="115" bgcolor="#66CCFF">Solicitante
<th width="162" bgcolor="#66CCFF">Comentarios </tr>
<%
Do while not registros.eof
%>
<tr>
<td align="center"><%=registros.Fields("fecha")%></td><br>
<td align="center"><%=registros.Fields("modulo")%></td>
<td align="center"><%=registros.Fields("solicitante")% ></td>
<td align="center"><%=registros.Fields("comentarios")% ></td>
</tr>

<%

registros.MoveNext

loop
registros.close
End if%>
</table>
<p align="center"><a href="Consulta_entre_fecha1.asp">Atras</a></p>
</div>

y me manda este error, quiza es basico pero no puedo solucionarlo

Información técnica (para personal de soporte técnico)

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.
/prueba/Consulta_entre_fecha2.asp, línea 16


Tipo de explorador:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322)

Página:
POST 57 bytes to /prueba/Consulta_entre_fecha2.asp

Datos de POST:
fecha1=10%2F10%2F2006&fecha2=30%2F12%2F2006&Submit =Buscar

Hora:
martes, 27 de diciembre de 2005, 9:18:17
  #5 (permalink)  
Antiguo 28/12/2005, 09:58
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
intentá así:

Código:
consulta = "SELECT * FROM auditorio where [auditorio.fecha] between #"&text1&"# and #"&text2&"#"

Y por favor, no habras temas nuevos para tratar un mismo problema. Siempre podés continuar respondiéndote al tema anterior.
Saludos
__________________
...___...
  #6 (permalink)  
Antiguo 28/12/2005, 10:03
Avatar de JoseGCB  
Fecha de Ingreso: noviembre-2004
Ubicación: Caracas Venezuela
Mensajes: 91
Antigüedad: 20 años, 5 meses
Puntos: 0
Cita:
consulta = "SELECT * FROM auditorio where [auditorio.fecha] between '"&text1&"' and '"&text2&"'"

Tienes que cambiar

Código:
consulta = "SELECT * FROM auditorio where [auditorio.fecha] between #" &text1 & "# and #"&text2&"#"

las fechas en access no van con comillas simples si no con #
__________________
:-D El peor error es no hacer nada
por pensar que es poco lo que se puede hacer..!!!
  #7 (permalink)  
Antiguo 28/12/2005, 10:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
A nononono.... tenés otros problemas.
Primero, el formulario. Tenés ésto:


Código:
<td bgcolor="#66CCFF"><strong>FECHA:</strong></td>
<td bgcolor="#33CCFF"><input name="fecha" type="text1" id="fecha"></td>
<td bgcolor="#33CCFF"><input name="fecha" type="text2" id="fecha"></td>
Los inputs son type="text", no text1 o text2
Luego, dale a cada uno un name único. Que te quede así:

Código:
<td bgcolor="#66CCFF"><strong>FECHA:</strong></td>
<td bgcolor="#33CCFF"><input name="fecha1" type="text" id="fecha1"></td>
<td bgcolor="#33CCFF"><input name="fecha2" type="text" id="fecha2"></td>

Luego, rescatás cada fecha independiente:


Código:
(el proceso)
<%
fecha1=request.Form("fecha1")
fecha2=request.Form("fecha2")

Dim conexion, registros, basedatos, consulta

basedatos = Server.MapPath("./reservas.mdb")

Set conexion = Server.CreateObject("ADODB.Connection")

conexion.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & basedatos)

consulta = "SELECT * FROM auditorio where [auditorio.fecha] between #"&fecha1&"# and #"&fecha2&"#"
Set registros = conexion.Execute(consulta)

Probalo así y si no funciona, reemplazá el numeral (#) por un apóstrofe (')... aunque me parece que las fechas en access se colocan entre numerales (o almohadillas)
__________________
...___...
  #8 (permalink)  
Antiguo 28/12/2005, 20:00
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
o si no pone

fecha1=request.Form("fecha1")
fecha2=request.Form("fecha2")


fecha1 = cdate(fecha1)
fecha2 = cdate(fecha2)
__________________
JuanRa Pérez
San Salvador, El Salvador
  #9 (permalink)  
Antiguo 29/12/2005, 06:45
Avatar de ivan floyd  
Fecha de Ingreso: diciembre-2005
Mensajes: 13
Antigüedad: 19 años, 4 meses
Puntos: 0
De acuerdo Gracias

muchas gracias al zuwaga y junaRA por su ayuda
el tema ya esta solucionado
se PASAROOOOON!!!!!!!!!!!!!!!
  #10 (permalink)  
Antiguo 29/12/2005, 06:48
Avatar de ivan floyd  
Fecha de Ingreso: diciembre-2005
Mensajes: 13
Antigüedad: 19 años, 4 meses
Puntos: 0
o si no pone

fecha1=request.Form("fecha1")
fecha2=request.Form("fecha2")


fecha1 = cdate(fecha1)
fecha2 = cdate(fecha2)

juaanRA para que sirve el cdate?
lo probe en mi pagina y no me funciona corectamente, no me reconoce las fechas
  #11 (permalink)  
Antiguo 29/12/2005, 08:15
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 3 meses
Puntos: 2
cdate: convierte un dato a fecha, funciona con numericos
__________________
Manual de ASP Avanzado ;-)
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 16:41.