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

ayuda con fechas por favor !!!

Estas en el tema de ayuda con fechas por favor !!! en el foro de ASP Clásico en Foros del Web. Hola a todos perdoden la insistencia pero estoy trabadisimo con un tema y no logro dar con la solucion. tengo el siguiente codigo <% dataIni ...
  #1 (permalink)  
Antiguo 11/05/2006, 21:12
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
ayuda con fechas por favor !!!

Hola a todos perdoden la insistencia pero estoy trabadisimo con un tema y no logro dar con la solucion.
tengo el siguiente codigo
<%
dataIni = Request.Form("fe")
dataFin = Request.Form("fe1")
Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("hoteles.mdb")
sqltext = "SELECT * FROM base1"
d = cdate(datafin) - cdate(dataini)
for t=0 to d
response.write cdate(dataini)+t & "<br>"
sqltext = "Insert into base1 (fecha1) values (" & CDATE(DATAINI + T) & ")"
CNN.EXECUTE SQL
next
%>

la idea de este codigo es que cuando se ingresa en un formulario la fecha inicio y fecha fin las reciba en este archivo y envie todas las fechas dede inicio a fin a una base de datos.

el sistema funciona bien peo tengo inconvenientes al llevarlas a la base de datos ya que me informa de un error: No coinciden los tipos: '[string: "22/04/2006"]' siendo 22/04/2006 la fecha que se ingresa como inicio, en al base de datos el campo fecha1 es de tipo fecha/hora y el formato esta en fecha corta. seguramente me falta algo para validar la fecha, he probado infinidad de alternaitvas para validarlo pero no puedo, agradezco quien se apiade ya que estoy con esto hace mucho tiempo, desde ya muchas gracias.
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #2 (permalink)  
Antiguo 11/05/2006, 23:30
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 3 meses
Puntos: 2
que intestas hacer cuando haces esto:
DATAINI + T

sumar un dia?
de todas maneras te dejo este enlace para que te empieces familiarizar con las funciones de fecha y hora
http://www.maestrosdelweb.com/editorial/asptime/


saludos
  #3 (permalink)  
Antiguo 12/05/2006, 01:21
 
Fecha de Ingreso: abril-2006
Ubicación: Bizkaia
Mensajes: 70
Antigüedad: 19 años
Puntos: 0
Aupa cristianf, si no recuerdo mal querias almacenar en la BBDD la fechas comprendidas entre una Fecha Inicial y otra final, no???

Código:
dataIni = Request.Form("fe")
dataFin = Request.Form("fe1")
Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("hoteles.mdb")

for t=cdate(dataIni) to cdate(dataFin)
sqltext = "Insert into base1 (fecha1) values to_date('" & t & "','dd/mm/yyyy')"
next
Nota: despuesde estar mirando me parece que la forma de guardar la fecha es: to_date('" & t & "','yyyy/mm/aa')" , prueba esta ultima forma al hacer la insert, sino prueba la que te he puesto arriba.
haber si te vale esto, no se si los parentesis estan bien cerrados.Compruebalos y nos cuentas

Última edición por GauTxori; 12/05/2006 a las 01:37
  #4 (permalink)  
Antiguo 12/05/2006, 10:30
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
sigo complicado

GauTxori: el codigo no marca errores pero resulta que ahora no escribe en la base de datos. estoy mareado
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #5 (permalink)  
Antiguo 12/05/2006, 10:32
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
codigo

el codigo lo tengo asi:

<%
dataIni = Request.Form("fe")
dataFin = Request.Form("fe1")
Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("hoteles.mdb")

for t=cdate(dataIni) to cdate(dataFin)
sqltext = "Insert into hoteles (fecha1) values to_date('" & t & "','yyyy/mm/aa')"
next

%>
probe con las dos formas de fecha y nada
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #6 (permalink)  
Antiguo 12/05/2006, 12:36
Avatar de Softdesigner  
Fecha de Ingreso: noviembre-2005
Ubicación: Gijón - Asturias - España
Mensajes: 240
Antigüedad: 19 años, 5 meses
Puntos: 0
Si utilizas Vbscript prueba a pasar la fecha a cadena string mediante el cstr.
cstr(fecha)
__________________

  #7 (permalink)  
Antiguo 12/05/2006, 15:12
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
perdon por la ignorancia pero me mataste, no entendi como es eso .
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #8 (permalink)  
Antiguo 12/05/2006, 15:19
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
la verdad me esta desconcertando cada vez mas, si no puedo de esta manera mi opcion dos es hacer una consulta con variables fecha inicio fecha fin a una base.
para aclarar:
sin ingreso 24/02/2006 y 26/02/2006 yo pretendo que
si la fecha 24/02/2006 es mayor o igual a la fecha del campo "fecha1" y menor o igual al campo "fecha2" y a su vez si la fecha 26/02/2006 es menor o igual al campo "fecha 2" y mayor o igual al campo fecha 1 me escriba un mensaje si no coinciden ninguna de las dos que me de otro mensaje

pero luego de investigar me parecio mas sencillo que se compare solo con las fecha 1 por eso la idea de hacer esto : for t=cdate(dataIni) to cdate(dataFin)
y que se esciban todas en el campo fecha 1
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #9 (permalink)  
Antiguo 15/05/2006, 15:55
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
sigio sin poder hacerlo

Ho,a como veran todavia estoy con iconvenientes como decia en el mesaje anterior
lo que prentedo es: que al ingresar 24/02/2006 y 26/02/2006 ,
si la fecha 24/02/2006 es mayor o igual a la fecha del campo "fecha1" y menor o igual al campo "fecha2" y a su vez si la fecha 26/02/2006 es menor o igual al campo "fecha 2" y mayor o igual al campo fecha 1 me escriba un mensaje. Si no coinciden ninguna de las dos que me de otro mensaje

pero luego de investigar me parecio mas sencillo que se compare solo con las fecha 1 por eso la idea de hacer esto : for t=cdate(dataIni) to cdate(dataFin)
y que se esciban todas en el campo fecha 1 pero tampoco resulto
saludos...
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #10 (permalink)  
Antiguo 17/05/2006, 05:10
 
Fecha de Ingreso: abril-2006
Ubicación: Bizkaia
Mensajes: 70
Antigüedad: 19 años
Puntos: 0
Aupa cristianf,

has solucionado ya el problema con las fechas???

en el codigo que te puse, faltaba ejecutar la insert, o lo pusiste tu a parte??

dataIni = Request.Form("fe")
dataFin = Request.Form("fe1")
Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("hoteles.mdb")

for t=cdate(dataIni) to cdate(dataFin)
sqltext = "Insert into base1 (fecha1) values to_date('" & t & "','dd/mm/yyyy')"
'Pon la instruccion para que haga la insert
next


haber si asi te sirve, y nos cuentas
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 11:15.