Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Sumar mas de 24 horas en formulario

1,935 views
Skip to first unread message

Gabriel

unread,
Nov 18, 2009, 7:24:01 AM11/18/09
to
Hola.

Soy principiante en Access y tengo un problema grande.

Por ejemplo, tengo una tabla con el campo horas, fon formato hora larga, y
un formulario en el que se suman esas horas, pero no pasan de 24. ¿Qué
fórmula tendría que escribir para que pase de 24 horas?

Gracias
--
Gabi

Patxi Sanz

unread,
Nov 18, 2009, 12:09:11 PM11/18/09
to
Hola Gabriel:

No es que no pasen de 24 horas, es que cada 24 horas Access agrega 1 día y
vuelve a indicar que es medianoche (0 horas):

- http://accessvbafaq.mvps.org/item.asp?pagina=41

--
Un saludo,


Patxi Sanz
Tudela (NA)
http://pasa.hostzi.com/

Gabriel

unread,
Nov 19, 2009, 2:14:01 AM11/19/09
to

--
Gabi


"Patxi Sanz" escribió:

Hola Patxi,

Mis conocimientos de Access son mas que limitados, he visto el link que me
has enviado y no se que hacer con el...

Yo solo quiero que en un subformulario me sume unas horas y que puedan a
aparecer p.e. 354:20 . Como podría hacerlo?.

Gracias anticipadas.
Gabriel

Patxi Sanz

unread,
Nov 19, 2009, 4:33:30 AM11/19/09
to
Copiando, pegando y guardando la función que aparece en el enlace en un
módulo estándar, y usándola luego en la propiedad Origen del control del
control donde quieras ver la suma:

= TimeToString(Suma(ValoresDeHora))

Gabriel

unread,
Nov 19, 2009, 7:06:01 AM11/19/09
to
Patxi, eres el mejor!

Gracias y hasta que vuelva a meter la pata.
--
Gabi


"Patxi Sanz" escribió:

> Copiando, pegando y guardando la función que aparece en el enlace en un

Gabriel

unread,
Nov 19, 2009, 8:44:03 AM11/19/09
to
Muchas gracias!, funciona perfecto.

Saludos
--
Gabi


"Patxi Sanz" escribió:

> Copiando, pegando y guardando la función que aparece en el enlace en un

Patxi Sanz

unread,
Nov 19, 2009, 9:24:19 AM11/19/09
to
De nada, aunque parte de las gracias debes dárselas a Juan M. Afán, que es
el que preparó la función :-)

Gabriel

unread,
Nov 19, 2009, 10:48:03 AM11/19/09
to
Mi gozo en un pozo, he copiado la función en un formulario normal, pero
cuando ese formulario recibe los datos de una consulta, aunque le ponga
filtro a la consulta, suma todos los registros, el filtro es como si no
actuara en ese campo.

Ayuda.... please...

--
Gabi


"Patxi Sanz" escribió:

> De nada, aunque parte de las gracias debes dárselas a Juan M. Afán, que es

Patxi Sanz

unread,
Nov 19, 2009, 12:41:39 PM11/19/09
to
¿Cómo la estás usando ahora?

Gabriel

unread,
Nov 20, 2009, 2:25:01 AM11/20/09
to
Buenos días Patxi,

Tengo una consulta que agrupa por los tiempos según varios tipos de datos
que contiene la tabla. El problema es que en lugar de asignarle las horas a
cada tipo de datos, suma toda la tabla y les pone a todos el mismo tiempo.

Disculpa las molestias y gracias anticipadas.
--
Gabi


"Patxi Sanz" escribió:

> ¿Cómo la estás usando ahora?

Gabriel

unread,
Nov 20, 2009, 3:59:01 AM11/20/09
to
....y los datos de esa tabla los presento en un formulario. En el campo
"horas" pegué la función que me dijiste ayer. Lo que pasa es lo que te dije,
que todos los conceptos tienen las mismas horas.
--
Gabi


"Gabriel" escribió:

Patxi Sanz

unread,
Nov 23, 2009, 12:29:42 PM11/23/09
to
Si en la consulta ya tienes las horas sumadas, no las verás bien en el
formulario. Trata de ajustar esa consulta, o usa la función en la propia
consulta, que también se puede.

Gabriel

unread,
Nov 24, 2009, 4:09:01 AM11/24/09
to
Hola Patxi,

¿Cómo la puedo poner la expresión en la consulta?.

He utilizado la expresión "=TimeToString(Suma([horas de vuelo]))" en la
consulta pero no funciona, me sale un mensaje que dicie: "La función
TimeToString no está definida en la expresión.
Saludos.
--
Gabi


"Patxi Sanz" escribió:

> Si en la consulta ya tienes las horas sumadas, no las verás bien en el

> .
>

Patxi Sanz

unread,
Nov 24, 2009, 11:44:56 AM11/24/09
to
En una consulta se hace de otra forma:

NombreQueQuieresDarleALaColumna: TimeToString(NombreDelCampo)

Gabriel

unread,
Nov 25, 2009, 3:15:02 AM11/25/09
to
Buenos días Patxi,

Lo he hecho tal cual y me sale una ventana que dice : "La función
TimetoString no está definida en la expresión".

En el formulario pulsé el botón de Código y pegué ahí la función, pero en la
consulta, aparte del generador de expresiones no sé donde más puedo ponerlo.

Saludos.
--
Gabi


"Patxi Sanz" escribió:

> En una consulta se hace de otra forma:

Patxi Sanz

unread,
Nov 25, 2009, 11:46:21 AM11/25/09
to
Al pulsar el botón de Código, creaste la función en el módulo perteneciente
al formulario, con lo que esa función no está disponible más que para ese
formulario.

Para tener la función disponible para todos los objetos, debes crearla en un
módulo estándar. Si tienes Access 2007, en el ribbon principal o Inicio, ve
a la pestaña Crear, y en el grupo Otros, pulsa en la flecha debajo de Macro
y selecciona Módulo (no módulo de clase). En versiones anteriores, en la
ventana de la base de datos, sitúate en el grupo Módulos, y pulsa en nuevo.

Ahí podrás copiar y pegar la función, y estará disponible en la consulta.

P.D.: Como la función ya la tienes como pública para todos, puedes borrarla
del módulo del formulario, si lo deseas.

Gabriel

unread,
Nov 26, 2009, 4:43:02 AM11/26/09
to
Buenos días Patxi,

Creé un módulo nuevo y.... la consulta no suma las horas.

Si pongo en la consulta en el apartdo Campo-> Num. Horas:
TimeToString([horas de vuelo]), en el apartado Total-> "Suma" , me aparece un
mensaje que dice: "No coinciden los tipos de datos en la expresión de
criterios", si pongo en el apartado Total: "Agrupar por", me aparecen las
horas sin mas, pero sin sumar.

Estás cerca de la solución final, ánimo que falta poco!.

Disculpa las molestias.

--
Gabi


"Patxi Sanz" escribió:

> Al pulsar el botón de Código, creaste la función en el módulo perteneciente

Patxi Sanz

unread,
Nov 26, 2009, 11:02:20 AM11/26/09
to
Primero tienes que sumar las horas, y luego usar la función para
convertirlas.

Si es necesario, puedes usar 2 consultas: una que haga la suma, y otra,
basada en la primera, que use la función para convertir la suma.

Gabriel

unread,
Nov 27, 2009, 2:40:02 AM11/27/09
to
Buenos días Patxi,

Sin tu ayuda hubiera sido IMPOSIBLE resolver el problema, te estoy muy
agradecido por tu paciencia y por tu ayuda.

Hasta pronto, seguro! :-))

Gracias otra vez
--
Gabi


"Patxi Sanz" escribió:

> Primero tienes que sumar las horas, y luego usar la función para

Patxi Sanz

unread,
Nov 27, 2009, 11:22:58 AM11/27/09
to
De nada :-)
0 new messages