Logo_Access_global_380x114Favicon_Access_global_180x180Logo_Access_global_380x114Logo_Access_global_380x114
  • Home
  • University
    • Destellos formativos
  • Labs
  • TV
  • Secciones
    • El mundo de Access
    • Explorando VBA
      • Artículos sobre VBA
      • Un trocito de código
    • Entrevistas
      • Profesionales de Access
    • El rincón de Excel
    • Bases de datos
      • MS SQL
      • MySQL
      • postgreSQL
      • SQLite
    • Clases magistrales
    • Utilidades hechas con Access
  • Access en el mundo
  • ¿Quiénes somos?
  • Cómo colaborar
  • Eventos
✕
            No hay resultados Mostrar todos los resultados
            VBA: “+” ¿Concatenar o sumar?
            23/04/2022
            Access: combobox rowsource
            25/04/2022
            Mostrar todos

            VBA: convertir hora en decimal

            Publicado por Luis Viadel
            Categorías
            • Destellos formativos
            Etiquetas
            • Hora
            • Split
            • VBA
            Public Function ConvertirHoraEnDecimal(ByVal Hora As Date) As Single
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/vba-convertir-hora-en-decimal
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : ConvertirHoraEnDecimal
            ' Autor original    : Luis Viadel | https://cowtechnologies.net
            ' Creado            : enero 2013
            ' Propósito         : convertir un formato hora en un formato decimal
            ' Retorno           : nos devuelve un número (single) con el valor de la hora
            ' Argumento/s       : La sintaxis de la función consta del siguiente argumento:
            '                     Parte           Modo             Descripción
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '                     Hora         Obligatorio      hora que queremos convertir
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Test:             : Para adaptar este código en tu aplicación puedes basarte en este procedimiento test. Copiar el bloque siguiente al
            '                     portapapeles y pega en el editor de VBA. Descomentar la línea que nos interese y pulsar F5 para ver su funcionamiento.
            '
            ' Sub ConvertirHoraEnDecimal_test()
            '
            '        Debug.Print ConvertirHoraEnDecimal("11:30")
            '
            ' End Sub
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            Dim TB As Variant
            
            TB = Split(Hora, ":")
            
            ConvertirHoraEnDecimal = TB(0) + ((TB(1) * 100) / 60) / 100
            
            End Function
            ¡Ver en el repositorio!
            Compartir
            16
            Luis Viadel
            Luis Viadel

            Entradas relacionadas

            27/09/2023

            VBA: Conversor de moneda


            Leer más
            26/09/2023

            VBA: Convertir macros a VBA


            Leer más
            25/09/2023

            VBA: Averiguar rápidamente la versión de Access


            Leer más

            1 Comment

            1. Alba Salvá dice:
              24/04/2022 a las 10:36 am

              Las fechas/horas se guardan en formato Double dentro de Access, la parte entera es el día y la parte decimal es la hora; por ese motivo Access no puede presentar la suma de horas que den más de 24 horas en total.

              Las 23:59:59 tienen el valor 0.999988425925926, y 1 segundo tiene el valor 0.000011574074074

              Si se suman, el resultado que da es 1, con lo que agrega 1 día a la fecha.

              Para hacer la prueba, se pueden convertir los valores a fechas/horas con CDate, e incluso hacer la operación de suma convirtiendola a Fecha/hora


              Debug.Print CDate (0.999988425925926)
              Debug.Print CDate(0.000011574074074)

              Debug.Print CDate(0.999988425925926 + 0.000011574074074)

              Un saludo.

              Alba.

              Responder

            Deja una respuesta Cancelar la respuesta

            Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

            ETIQUETAS

            Access API ComboBox Consultas CountOfDeclarationLines CountOfLines DCount Diseño DoCmd Excel Fecha FileExists FileSystemObject Filtros Formulario Formularios Funciones Funciones de dominio GetFolder Informes Kill Left Listbox Matrices Mid Mod Módulos Node ProcCountLines Procedimientos ProcOfLine References Replace Ribbon Right RunCommand Split Tablas Tempvars TreeView TwipsFromFont VBA VBE VBIDE WizHook

            ÚLTIMAS ENTRADAS

            • 0
              VBA: Conversor de moneda
              27/09/2023
            • 0
              VBA: Convertir macros a VBA
              26/09/2023

            ¿QUIERES PUBLICITAR TU EMPRESA AQUÍ?

            SUSCRÍBETE A NUESTRO
            NEWSLETTER

            Recibirás información puntual sobre el mundo de Access y VBA

            ¡Próximamente!

            Promovemos el uso de Access y de la programación en VBA en todo el mundo

            Centro de conocimiento


            Toda la sabiduría de los mejores programadores de Access y VBA a tu alcance.

            Legal

            Política de privacidad

            Condiciones de uso

            Condiciones del redactor

            ®Access Global 2021 | All right reserved
                      No hay resultados Mostrar todos los resultados