Código VBA para diligenciar la hora en el "Campo A" de la hora del "Campo b" mas suma de minutos especificados en "Campo C"

Les pido me colaboren el el código VBA en access para establecer una hora en un campo de texto con formato hora, según la hora de un campo ya diligenciado mas la suma de un numero de minutos especificado en otro campo de texto con formato numérico.

Conozco la función DateAdd, pero no sabría como aplicar su sintaxis según este requerimiento.

1 respuesta

Respuesta
1

Si conoces la función DateAdd como dices, no sé donde tienes el problema...

Esa función tiene tres para´metros:

Intervalo: el intervalo que vas a sumar o restar (dias, meses, horas, minutos...). En tu caso serían minutos, que se expresan como "nn"

Número: el número de intervalos a sumar/resta. En tu caso sería el valor de un campo: Me. Minutos

fecha/hora: la fecha/hora a la que le agregas el intervalo. En tu caso sería el cuadro de texto, pero convertido a fecha: CDate(Me. Hora)

Resumiendo, te quedaría algo así:

...=Format (DateDiff("nn",Me. Minutos, CDate(Me. Fecha)),"hh:nn:ss")

gracias rojo por tu respuesta,  he leído acerca de la función DateAdd, pero lo que no entendía es aplicarla tomando valores de otros campos del formulario, se poco de access,  intente realizar lo que me diste pero me muestra error.

de pronto falto aclarar que la acción se realiza en un formulario.

Pon DateAdd en vez de DifFecha (acabo de ver que en mi respuesta te puse por error DateDiff en vez de DateAdd, disculpa)

rojo, la verdad no funciona, sin embargo creo que es mejor enviarte unas capturas para que entiendas un poco el problema a resolver.

aqui podras ver  los campos comentados igualmente te mostrare el error que da la plataforma

de antemano gracias por tu tiempo, un abrazo.

Saludos, envie previamente una solicitud previa pero no se si todoexpertos la peoceso, sin envargo te vuelvo a enviar la informacion
te comentaba que la correccion que eme enviaste tampoco me funciono, por ello decidi enviarte unas capturas para entender un poco el contesto de mi duda, de antemano muchas gracias por tu deicacion.

seguidamente el error que me da el sistema:

El intervalo es simplemente "n", no "nn"

Así te debiera de funcionar, te dejo un pequeño ejemplo: http://www.filebig.net/files/waCGBp6ZJK  

Saludos rojo

muchas gracias por tu ejemplo, no deja de ser emocionante iniciar un ejemplo como este por primera vez, aun con funciones sencillas como esta.

el ejemplo era exacto a lo requerido, y mucho mas sencillo de lo que se esperaba, de pronto me queda la duda de porque una sola "n" y no las dos como en la sintaxis de la mayoría de los ejemplos con la función "DateAdd"

como siempre, eres el mejor explicando access, gracias y un abrazo.

La sintaxis de la función la tienes, por ejemplo, aquí:

https://docs.microsoft.com/es-es/office/vba/language/reference/user-interface-help/dateadd-function 

o aquí:

https://support.office.com/es-es/article/funci%C3%B3n-dateadd-63befdf6-1ffa-4357-9424-61e8c57afc19 

En todas ellas pone "n" como intervalo. El poner "nn" fue error mío... probablemente porque estaba pensando en otras funciones (como Format)... XD

PD: Si te sirvió mi respuesta (y no lo has hecho ya, porque esta web va fatal últimamente y no llegan los avisos ni se actualiza con celeridad), no te olvides de puntuar mi respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas