Tengo un formulario con un cuadro de texto con el valor predeterminado =HoraActual(), pero me muestra hh:mm:ss y yo quiero solo hh:mm. ¿Cómo lo puedo hacer?
1 Respuesta
Respuesta de santiagomf
1
1
santiagomf, Más de 35 años en la informática y más de 20 trabajando con...
Lo más sencillo es que cambies el formato del cuadro de texto "dd-mm-aaaa hh:nn". De esta forma no te aparecerán los segundos en pantalla, aunque sí estarán en el campo. Si lo que quieres es que no contenga los segundos, podrías usar una expresión como esta: "=cvdate(date$ & " " & left$(time$,5))". Es una forma poco seria pero funciona.
Como quiero que solo me salga la hora sin el día ni los segundos supongo que el cuadro de texto lo puedo definir como hora corta, ¿pero la expresión como sería? ¿=cvdate(left$(time$,5))? Muchas gracias.
Si quieres conservar sólo la hora, utiliza mejor un campo de tipo texto o un decimal. En ambos casos deberías definirte funciones para presentar el dato o para hacer cálculos (restar horas, separar las horas de los minutos, etc...). Si sólo quieres conservar la hora para presentarla y no vas a hacer ningún cálculo, es mejor un campo de texto. En este caso guardarías en el campo los 5 primeros caracteres del "time$" usando left$(time$, 5). Una pregunta: ¿Vas a guardar la hora y no la fecha? Me parece extraño y si lo que quieres es verlos por separado, puedes almacenar la información en un campo único y luego presentarlo como si fueran dos. En caso de ser esto, lo más fácil sería hacer una consulta sobre la tabla que formatee el campo como fecha y como hora. Esto lo harías poniendo estos 2 campos: valorFecha: format$(nombreDelCampo;"dd-mm-aaaa") valorHora:: format$(nombreDelCampo;"hh:nn") Si no te sirven estas posibles soluciones, comentame más en detalle lo que quieres hacer y buscamos la forma.
Me ha funcionado perfectamente poniendo el campo hora en modo texto. Guardo la fecha en un campo y la hora en otro campo, pero es buena tu idea de guardarlo en un solo campo y después formatear la salida. Muchas gracias!