Ver Mensaje Individual
  #12 (permalink)  
Antiguo 15/09/2008, 07:44
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: sumar una hora

Koudelka,
varias cosas: lo de la coma o punto y coma depende; si en tu programa separas con punto y coma, cambia la coma por punto y coma (en el mío sólo me acepta la coma: cosas de la configuración regional y de algún otro detalle). Pon punto y coma en tus separaciones de las condicionales.
No lo he probado en un formulario, pero la única diferencia sería que un dato pasado al formulario fuera interpretado como cadena de texto, y tendrías que añadir CFecha([calculo2]) en todas las ocasiones en que trabajases sobre el dato, es decir, cuando escribías Minuto([calculo2]), tendrías que escribir Minuto(CFecha([calculo2])). Y cuando escribes ([calculo2]), deberías escribir CFecha([calculo2]). Es decir, siempre que trabajases con el dato y lo quisieras usar como hora, deberías hacer la conversión.
En cuanto a la longitud de la consulta, no creo que sea un problema, pero piensa que lo que estás haciendo es:


si minutos > 9 (si (mayor que 54; añade una hora y deja los minutos a 0; si (mayor que 28; deja los minutos a 30; si (mayor que 13; deja los minutos a 15; deja los minutos a 0 ))); '0'&(si (mayor que 54; añade una hora y deja los minutos a 0; si (mayor que 28; deja los minutos a 30; si (mayor que 13; deja los minutos a 15; deja los minutos a 0 )))

Una condicional encadenada para los minutos, pero para añadir el 0, la condicional engloba a las encadenadas, pues eso será posterior a lo otro; piensa una hora que es 9:56; primero pasará a 10:00 y luego se quedará ahí; pero si encadenas la otra condicional, pasará a 10:00, y luego a 00:00.