Suma de Minutos en Bucle VBA Access

Me encuentro realizando un bucle que suma minutos a una hora para crear un horario, funciona en partes, lo que no entiendo es por qué cuando uso un intérvalo de 15 minutos no sale la última hora...

Dim IdFecha, intervalo As Integer, desde, hasta, contador As Date

desde = #8:00:00 AM#
hasta = #10:30:00 AM#
intervalo = 15
For contador = desde To hasta Step DateAdd("N", intervalo, contador)
Debug.Print "Registra Hora - "; contador
Next contador

Cuando ejecuto el código no registra la última hora en este caso 10:30, lo que no para cuando uso 5 y 10 minutos, ¿alguna idea del por qué y cómo puedo solucionarlo?

1 respuesta

Respuesta
2

Ni idea de por qué te pasa eso, pero lo puedes solucionar fácilmente con:

hasta = #10:30:01 AM#

Otra cosa: ojo al declarar las variables, porque tal como lo has puesto, idfecha, desde y hasta se declaran como Variant, y no como Integer y Date como pretendes.

Un saludo.


Muchas gracias por la ayuda, quería consultarte cuál es el motivo por el que se declaran como variant, disculpa, lo que sucede es que no tengo muchos conocimientos en programación, voy aprendiendo de lo que investigo.  Muchas gracias de antemano.

Pues se declaran como variant porque no le especificas el tipo de variable que es.

Para declararlas correctamente, tendrías que hacer:

Dim IdFecha As Integer

Dim intervalo As Integer

Dim  desde As Date

Dim hasta As Date

Dim contador As Date

o en una línea:

Dim IdFecha As Integer, intervalo As Integer, desde As Date, hasta As Date, contador As Date

¡Gracias! 

Una pregunta, sabes cómo puedo restar minutos a una hora?  por ejemplo de 12:00 que reste a 11:59 para que no tome en cuenta las 12:00

Tienes la función AgregFecha( intervalo, número, fecha ) para añadir o quitar a una fecha/hora determinada https://support.office.com/es-es/article/Funci%C3%B3n-DateAdd-63befdf6-1ffa-4357-9424-61e8c57afc19

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas