Contador de visitas problema de fechas

05/09/2003 - 09:18 por Magda | Informe spam
Hola, tengo un contador de visitas que va almacenando quién entra en mi web
en una base de datos (access 97). El caso es que entre los datos que
almaceno, está la fecha de hoy, pero debe ocurrir algo con el día y el mes,
porque todo funciona perfecto hasta el día 12 de cada mes, el día 13 ya no
funciona.
La sintaxis que utilizo es la siguiente:

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.JEt.OLEDB.4.0; Data
Source="&Server.MapPath("visitas.mdb")
SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
rs.open SQLVisi, oConn, 1, 2
if rs.EOF then 'es la primera visita hoy, por eso no hay ningún registro con
la fecha actual
rs.AddNew
'rs.Fields("Fecha")=format(Date(),"dd/mm/yyyy")
rs.Fields("Fecha")=Date()
rs.Fields("Hora")=Time()
rs.Fields("Hits")=1
rs.Fields("NumCol")=nco
if NOM <> "" then
rs.fields("nombre")=NOM
else
rs.fields("nombre")="NO VALIDO"
end if
rs.Update
else
rs.Edit
visi=0
visi=rs.Fields("Hits")
rs.Fields("Hits")=visi+1
rs.Fields("NumCol")=nco
rs.Update
end if
rs.close


¿Alguien sabe cómo se arregla esto?

Preguntas similare

Leer las respuestas

#1 Manuel Vera
05/09/2003 - 15:11 | Informe spam
Eso seguro que es por formatos de fecha ingles/español. Es posible que la
configuración regional del server esté en un formato y la de access en otro.

Prueba formateando a mano el valor de date, forzándolo a
"aaaammdd",
"aaaa/mm/dd" o
"aaaa-mm-dd"

Para eso usa las funciones: year(), month() y day()
Saludos
MV

Magda wrote in message
news:
Hola, tengo un contador de visitas que va almacenando quién entra en mi web
en una base de datos (access 97). El caso es que entre los datos que
almaceno, está la fecha de hoy, pero debe ocurrir algo con el día y el mes,
porque todo funciona perfecto hasta el día 12 de cada mes, el día 13 ya no
funciona.
La sintaxis que utilizo es la siguiente:

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.JEt.OLEDB.4.0; Data
Source="&Server.MapPath("visitas.mdb")
SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
rs.open SQLVisi, oConn, 1, 2
if rs.EOF then 'es la primera visita hoy, por eso no hay ningún registro con
la fecha actual
rs.AddNew
'rs.Fields("Fecha")=format(Date(),"dd/mm/yyyy")
rs.Fields("Fecha")=Date()
rs.Fields("Hora")=Time()
rs.Fields("Hits")=1
rs.Fields("NumCol")=nco
if NOM <> "" then
rs.fields("nombre")=NOM
else
rs.fields("nombre")="NO VALIDO"
end if
rs.Update
else
rs.Edit
visi=0
visi=rs.Fields("Hits")
rs.Fields("Hits")=visi+1
rs.Fields("NumCol")=nco
rs.Update
end if
rs.close


¿Alguien sabe cómo se arregla esto?
Respuesta Responder a este mensaje
#2 Magda
09/09/2003 - 09:06 | Informe spam
Hola Manuel, gracias por ayudarme, pero yo tenía esta sentencia, y
registraba hasta el día 12 de cada mes:
SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
He intentado cambiarla por esto

SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#" & format(Date(),"yyyy/mm/d")
& "#"

y esto,

SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#" & format(Date(),"& year() &
"/" & mounth() & "/" & day() & ") & "#"

y no registra nada.

¿Qué estoy haciendo mal?



"Manuel Vera" escribió en el mensaje
news:%
Eso seguro que es por formatos de fecha ingles/español. Es posible que la
configuración regional del server esté en un formato y la de access en


otro.

Prueba formateando a mano el valor de date, forzándolo a
"aaaammdd",
"aaaa/mm/dd" o
"aaaa-mm-dd"

Para eso usa las funciones: year(), month() y day()
Saludos
MV

Magda wrote in message
news:
Hola, tengo un contador de visitas que va almacenando quién entra en mi


web
en una base de datos (access 97). El caso es que entre los datos que
almaceno, está la fecha de hoy, pero debe ocurrir algo con el día y el


mes,
porque todo funciona perfecto hasta el día 12 de cada mes, el día 13 ya no
funciona.
La sintaxis que utilizo es la siguiente:

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.JEt.OLEDB.4.0; Data
Source="&Server.MapPath("visitas.mdb")
SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
rs.open SQLVisi, oConn, 1, 2
if rs.EOF then 'es la primera visita hoy, por eso no hay ningún registro


con
la fecha actual
rs.AddNew
'rs.Fields("Fecha")=format(Date(),"dd/mm/yyyy")
rs.Fields("Fecha")=Date()
rs.Fields("Hora")=Time()
rs.Fields("Hits")=1
rs.Fields("NumCol")=nco
if NOM <> "" then
rs.fields("nombre")=NOM
else
rs.fields("nombre")="NO VALIDO"
end if
rs.Update
else
rs.Edit
visi=0
visi=rs.Fields("Hits")
rs.Fields("Hits")=visi+1
rs.Fields("NumCol")=nco
rs.Update
end if
rs.close


¿Alguien sabe cómo se arregla esto?




Respuesta Responder a este mensaje
#3 Manuel Vera
09/09/2003 - 17:19 | Informe spam
En ASP no existe la función format().

Hay una formatDateTime() pero no te sirve para lo que tu quieres. Pues esa
toma la configuración regional de tu PC que no coincide con la de ACCESS,
así que quedarías en lo mismo.

Has el fomato a mano. Para eso usa las funciones: year(), month() y day()
aplicadas a Date()

Otra opción sería usar esto en el global.asa

sub session_onstart
Session.LCID = 8202 'Español Venezuela
'esto te cambia la configuración regional de tu session
'a la de Venezuela
'Para buscar las de otros países entra a msdn.microsoft.com y buscas
'Session.LCID
end sub

Saludos
Manuel


Magda wrote in message
news:
Hola Manuel, gracias por ayudarme, pero yo tenía esta sentencia, y
registraba hasta el día 12 de cada mes:
SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
He intentado cambiarla por esto

SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#" & format(Date(),"yyyy/mm/d")
& "#"

y esto,

SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#" & format(Date(),"& year() &
"/" & mounth() & "/" & day() & ") & "#"

y no registra nada.

¿Qué estoy haciendo mal?



"Manuel Vera" escribió en el mensaje
news:%
Eso seguro que es por formatos de fecha ingles/español. Es posible que la
configuración regional del server esté en un formato y la de access en


otro.

Prueba formateando a mano el valor de date, forzándolo a
"aaaammdd",
"aaaa/mm/dd" o
"aaaa-mm-dd"

Para eso usa las funciones: year(), month() y day()
Saludos
MV

Magda wrote in message
news:
Hola, tengo un contador de visitas que va almacenando quién entra en mi


web
en una base de datos (access 97). El caso es que entre los datos que
almaceno, está la fecha de hoy, pero debe ocurrir algo con el día y el


mes,
porque todo funciona perfecto hasta el día 12 de cada mes, el día 13 ya no
funciona.
La sintaxis que utilizo es la siguiente:

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.JEt.OLEDB.4.0; Data
Source="&Server.MapPath("visitas.mdb")
SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
rs.open SQLVisi, oConn, 1, 2
if rs.EOF then 'es la primera visita hoy, por eso no hay ningún registro


con
la fecha actual
rs.AddNew
'rs.Fields("Fecha")=format(Date(),"dd/mm/yyyy")
rs.Fields("Fecha")=Date()
rs.Fields("Hora")=Time()
rs.Fields("Hits")=1
rs.Fields("NumCol")=nco
if NOM <> "" then
rs.fields("nombre")=NOM
else
rs.fields("nombre")="NO VALIDO"
end if
rs.Update
else
rs.Edit
visi=0
visi=rs.Fields("Hits")
rs.Fields("Hits")=visi+1
rs.Fields("NumCol")=nco
rs.Update
end if
rs.close


¿Alguien sabe cómo se arregla esto?




Respuesta Responder a este mensaje
#4 Magda
12/09/2003 - 08:38 | Informe spam
Manuel, yo soy de España; intenté poner el código español, pero no funciona;
de hecho no hace nada.
Probé también formateando a mano con year, mounth y day, pero no me registra
nada.
Llevo con este error bastante tiempo, y debo solucionarlo ya, cuanto antes.
No sé qué hacer.


"Manuel Vera" escribió en el mensaje
news:
En ASP no existe la función format().

Hay una formatDateTime() pero no te sirve para lo que tu quieres. Pues esa
toma la configuración regional de tu PC que no coincide con la de ACCESS,
así que quedarías en lo mismo.

Has el fomato a mano. Para eso usa las funciones: year(), month() y day()
aplicadas a Date()

Otra opción sería usar esto en el global.asa

sub session_onstart
Session.LCID = 8202 'Español Venezuela
'esto te cambia la configuración regional de tu session
'a la de Venezuela
'Para buscar las de otros países entra a msdn.microsoft.com y buscas
'Session.LCID
end sub

Saludos
Manuel


Magda wrote in message
news:
Hola Manuel, gracias por ayudarme, pero yo tenía esta sentencia, y
registraba hasta el día 12 de cada mes:
SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
He intentado cambiarla por esto

SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#" &


format(Date(),"yyyy/mm/d")
& "#"

y esto,

SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#" & format(Date(),"& year()


&
"/" & mounth() & "/" & day() & ") & "#"

y no registra nada.

¿Qué estoy haciendo mal?



"Manuel Vera" escribió en el mensaje
news:%
> Eso seguro que es por formatos de fecha ingles/español. Es posible que


la
> configuración regional del server esté en un formato y la de access en
otro.
>
> Prueba formateando a mano el valor de date, forzándolo a
> "aaaammdd",
> "aaaa/mm/dd" o
> "aaaa-mm-dd"
>
> Para eso usa las funciones: year(), month() y day()
> Saludos
> MV
>
> Magda wrote in message
> news:
> Hola, tengo un contador de visitas que va almacenando quién entra en mi
web
> en una base de datos (access 97). El caso es que entre los datos que
> almaceno, está la fecha de hoy, pero debe ocurrir algo con el día y el
mes,
> porque todo funciona perfecto hasta el día 12 de cada mes, el día 13 ya


no
> funciona.
> La sintaxis que utilizo es la siguiente:
>
> set oConn=Server.CreateObject("ADODB.Connection")
> set rs=Server.CreateObject("ADODB.Recordset")
> oConn.Open "Provider=Microsoft.JEt.OLEDB.4.0; Data
> Source="&Server.MapPath("visitas.mdb")
> SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
> rs.open SQLVisi, oConn, 1, 2
> if rs.EOF then 'es la primera visita hoy, por eso no hay ningún registro
con
> la fecha actual
> rs.AddNew
> 'rs.Fields("Fecha")=format(Date(),"dd/mm/yyyy")
> rs.Fields("Fecha")=Date()
> rs.Fields("Hora")=Time()
> rs.Fields("Hits")=1
> rs.Fields("NumCol")=nco
> if NOM <> "" then
> rs.fields("nombre")=NOM
> else
> rs.fields("nombre")="NO VALIDO"
> end if
> rs.Update
> else
> rs.Edit
> visi=0
> visi=rs.Fields("Hits")
> rs.Fields("Hits")=visi+1
> rs.Fields("NumCol")=nco
> rs.Update
> end if
> rs.close
>
>
> ¿Alguien sabe cómo se arregla esto?
>
>
>
>




Respuesta Responder a este mensaje
#5 Manuel Vera
12/09/2003 - 22:39 | Informe spam
Yo tengo este codigo que viene de un formulario donde el usuario escribe en
3 campos los valores de la fecha. Tu tendrías que formatear a mano la fecha
en la forma: aaaa-mm-dd.

sTexto = Request.QueryString("tAno2") & "-" & _
right("0" & Request.QueryString("cMes2"),2) & "-" & _
right("0" & Request.QueryString("tDia2"),2)
if not vacio(sTexto) and len(sTexto) then
sWhere = sWhere & " AND format(P.FecRegist,""yyyy-mm-dd"") <= '" & sTexto
& "'"
end if

OJO, yo lo busco por rango entre 2 fechas, fíjate en el "<=". Pues el now()
me da fecha y hora.

El valor se graba en la base de datos así:
SQL = "Insert Into Tabla (..., FecRegist, ...)" & _
"VALUES (..., now(),...)"

¿Cómo lo estas grabando tu en tu caso?
Asegurate que no estés grabando la hora.

Saludos
MV

Magda wrote in message
news:
Manuel, yo soy de España; intenté poner el código español, pero no funciona;
de hecho no hace nada.
Probé también formateando a mano con year, mounth y day, pero no me registra
nada.
Llevo con este error bastante tiempo, y debo solucionarlo ya, cuanto antes.
No sé qué hacer.


"Manuel Vera" escribió en el mensaje
news:
En ASP no existe la función format().

Hay una formatDateTime() pero no te sirve para lo que tu quieres. Pues esa
toma la configuración regional de tu PC que no coincide con la de ACCESS,
así que quedarías en lo mismo.

Has el fomato a mano. Para eso usa las funciones: year(), month() y day()
aplicadas a Date()

Otra opción sería usar esto en el global.asa

sub session_onstart
Session.LCID = 8202 'Español Venezuela
'esto te cambia la configuración regional de tu session
'a la de Venezuela
'Para buscar las de otros países entra a msdn.microsoft.com y buscas
'Session.LCID
end sub

Saludos
Manuel


Magda wrote in message
news:
Hola Manuel, gracias por ayudarme, pero yo tenía esta sentencia, y
registraba hasta el día 12 de cada mes:
SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
He intentado cambiarla por esto

SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#" &


format(Date(),"yyyy/mm/d")
& "#"

y esto,

SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#" & format(Date(),"& year()


&
"/" & mounth() & "/" & day() & ") & "#"

y no registra nada.

¿Qué estoy haciendo mal?



"Manuel Vera" escribió en el mensaje
news:%
> Eso seguro que es por formatos de fecha ingles/español. Es posible que


la
> configuración regional del server esté en un formato y la de access en
otro.
>
> Prueba formateando a mano el valor de date, forzándolo a
> "aaaammdd",
> "aaaa/mm/dd" o
> "aaaa-mm-dd"
>
> Para eso usa las funciones: year(), month() y day()
> Saludos
> MV
>
> Magda wrote in message
> news:
> Hola, tengo un contador de visitas que va almacenando quién entra en mi
web
> en una base de datos (access 97). El caso es que entre los datos que
> almaceno, está la fecha de hoy, pero debe ocurrir algo con el día y el
mes,
> porque todo funciona perfecto hasta el día 12 de cada mes, el día 13 ya


no
> funciona.
> La sintaxis que utilizo es la siguiente:
>
> set oConn=Server.CreateObject("ADODB.Connection")
> set rs=Server.CreateObject("ADODB.Recordset")
> oConn.Open "Provider=Microsoft.JEt.OLEDB.4.0; Data
> Source="&Server.MapPath("visitas.mdb")
> SQLVisi="SELECT * FROM T_Visitas WHERE Fecha=#"&Date()&"#"
> rs.open SQLVisi, oConn, 1, 2
> if rs.EOF then 'es la primera visita hoy, por eso no hay ningún registro
con
> la fecha actual
> rs.AddNew
> 'rs.Fields("Fecha")=format(Date(),"dd/mm/yyyy")
> rs.Fields("Fecha")=Date()
> rs.Fields("Hora")=Time()
> rs.Fields("Hits")=1
> rs.Fields("NumCol")=nco
> if NOM <> "" then
> rs.fields("nombre")=NOM
> else
> rs.fields("nombre")="NO VALIDO"
> end if
> rs.Update
> else
> rs.Edit
> visi=0
> visi=rs.Fields("Hits")
> rs.Fields("Hits")=visi+1
> rs.Fields("NumCol")=nco
> rs.Update
> end if
> rs.close
>
>
> ¿Alguien sabe cómo se arregla esto?
>
>
>
>




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida