Modificar now()

04/04/2011 - 16:17 por Alex | Informe spam
¿Cómo puedo asignarle yo el valor hh:mm:ss a now()?

Me explico.

Tengo un formulario con un campo ctHoraActivacion donde registro la
hora en que se activó una alarma e ingreso el dato en formato
99:00:00. El formulario se va llenando a medida que ocurren las
activaciones pero cuando ocurren muchas al mismo tiempo es probable
que no se anoten en el órden adecuado por lo que luego la aplicación
deberá ordenarlas por tiempo a la hora de emitir un informe o exportar
los datos. Es por eso que no puedo usar la función now() a secas.

Lo que pensé fue utilizar el campo ctHoraActivacion para luego
modificar automáticamente la función now() según el valor de
ctHoraActivación.

Ejemplo:
Si se activó la alarma el 01/01/2011 a las 00:23:54 y se anotó a las
00:24:30, cuando se anote en ctHoraActivación 00:23:54 se debería
modificar el valor de now de 01/01/2011 00:24:30 (hora anotada) a
01/01/2011 00:23:54 (hora de la activación real).

A todos gracias nuevamente.

Preguntas similare

Leer las respuestas

#6 Alex
05/04/2011 - 15:49 | Informe spam
On 5 abr, 09:13, José Mª Fueyo wrote:
Hola
La función Now te da la fecha y hora del momento. Como Emilio, no
entiendo muy bien cual es tu problema.
Sí haces repetidas llamadas a dicha función, obtendrás la misma fecha
pero distinta hora.

Salu2,
José Mª Fueyo
[MS MVP Access]



Eso lo entiendo pero para el caso no me sirve porque no necesariamente
la hora en que se registra la activación (la tomada por now()) es la
hora de la activación en sí (que es el valor que debo ingresar). La
función now() la necesito para que quede registrada la fecha pues el
día laboral comienza a las 6:00 con el primer turno (no a las 00:00),
lo que complica levemente el sacar informes por día.

Como no quería tener otro campo de fecha/hora en la tabla intenté
modificar la parte hh:mm:ss de now() de acuerdo a la hora de la
activación y no del registro. Lo que hice fue crear un cuadro de texto
(ctHActivacion) donde sí ingreso la hora real para luego tomar ese
valor para Now().

Por último, quiero evitarle al operador tener que escribir una y otra
vez la fecha porque ésta la tomo del sistema pero lo que no me sirve
es la hora, ésta debo modificarla. Quizás me esté complicando al santo
botón (cosa muy probable) ;)

En resúmen, quería simplemente escibir sólo hh:mm:ss en el formulario
y registrar dd/mm/aaaa hh:mm:ss en la tabla. Sólo eso.
Respuesta Responder a este mensaje
#7 Emilio
05/04/2011 - 16:29 | Informe spam
¡Importante!: Colabora con el grupo. Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias
ya me parecía a mi que había gato encerrado, ahora creo que ya lo entiendo,
aunque no del todo, dato que puedes seguir modificando la hora
independientemente de la fecha.

De cualquier modo me parece que lo ideal es que utilices dos campos, uno con
la fecha (valor predeterminado Date()) y otro con la hora (Valor
predeterminado Time()) luego editas la hora sin tocar la feha.

Saludos a todos
Emilio [MS-MVP Access 2006/11]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio

"Alex" escribió en el mensaje
news:
On 5 abr, 09:13, José Mª Fueyo wrote:
Hola
La función Now te da la fecha y hora del momento. Como Emilio, no
entiendo muy bien cual es tu problema.
Sí haces repetidas llamadas a dicha función, obtendrás la misma fecha
pero distinta hora.

Salu2,
José Mª Fueyo
[MS MVP Access]



Eso lo entiendo pero para el caso no me sirve porque no necesariamente
la hora en que se registra la activación (la tomada por now()) es la
hora de la activación en sí (que es el valor que debo ingresar). La
función now() la necesito para que quede registrada la fecha pues el
día laboral comienza a las 6:00 con el primer turno (no a las 00:00),
lo que complica levemente el sacar informes por día.

Como no quería tener otro campo de fecha/hora en la tabla intenté
modificar la parte hh:mm:ss de now() de acuerdo a la hora de la
activación y no del registro. Lo que hice fue crear un cuadro de texto
(ctHActivacion) donde sí ingreso la hora real para luego tomar ese
valor para Now().

Por último, quiero evitarle al operador tener que escribir una y otra
vez la fecha porque ésta la tomo del sistema pero lo que no me sirve
es la hora, ésta debo modificarla. Quizás me esté complicando al santo
botón (cosa muy probable) ;)

En resúmen, quería simplemente escibir sólo hh:mm:ss en el formulario
y registrar dd/mm/aaaa hh:mm:ss en la tabla. Sólo eso.
Respuesta Responder a este mensaje
#8 José Mª Fueyo
05/04/2011 - 18:06 | Informe spam
Hola
Puedes guardar en una variable de tipo date, la fecha del día mediante
la función date. Eso te guarda la fecha del día a las 12 de la noche
(0:00:00)
Por otra parte, declara una variable tipo fecha y con la función
TimeSerial creas una hora. Luego suma ambas variables y tendrás la
fecha del día y la hora que tu quieras.
Espero te sirva.

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#9 Alex
16/04/2011 - 13:39 | Informe spam
Intenté tu solución José pero no pude hacerla funcionar bien. Como
aprendiz (no de los más rápidos) no pude crear la variable
correctamente. Me hubiera gustado pues me ahorraba un campo.

Al final puse en práctica la idea de Emilio que, si bien necesito un
campo adicional, es más fácil de implementar para mí.

A ambos, gracias y disculpen la tardanza en responder.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida