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: Echo
            26/03/2022
            VBA: Split
            28/03/2022
            Mostrar todos

            VBA: horario de verano

            Publicado por Luis Viadel
            Categorías
            • Destellos formativos
            Etiquetas
            • DateSerial
            • VBA
            Option Compare Database
            Option Explicit
            
            Public Function CambioHorarioInvierno(ByVal datDia As Date) As Date
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/vba-horario-de-verano
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : CambioHorarioInvierno
            ' Autor original    : Emilio Sancha
            ' Adaptado por      : Luis Viadel | https://cowtechnologies.net
            ' Propósito         : Conocer la fecha de cambio de horario de invierno(ultimo domingo de Octubre)
            ' Retorno           : Valor date con el día que cambia la hora
            ' Argumento/s       : La sintaxis del procedimiento o función consta del siguiente argumento:
            '                     Parte         Modo           Descripción
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '                     datDia      Obligatorio      Número de días del mes (31)
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '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 CambioHorarioInvierno_test()
            '
            'Debug.Print CambioHorarioInvierno(#1/1/2022#)
            '
            'End Sub
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            Dim bytDia As Byte
            Dim intAño As Integer
            
            intAño = Year(datDia)
            
            bytDia = 31
            datDia = DateSerial(intAño, 10, bytDia)
            
            ' busco el ultimo domingo (primero empezando por el final)
            Do While Weekday(datDia) <> vbSunday
                datDia = DateSerial(intAño, 10, bytDia)
                bytDia = bytDia - 1
            Loop
            
            CambioHorarioInvierno = datDia
            
            End Function
            
            
            Public Function CambioHorarioVerano(ByVal datDia As Date) As Date
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/vba-horario-de-verano
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : CambioHorarioVerano
            ' Autor original    : Emilio Sancha
            ' Adaptado por      : Luis Viadel | https://cowtechnologies.net
            ' Propósito         : Conocer la fecha de cambio de horario de verano(ultimo domingo de marzo)
            ' Retorno           : Valor date con el día que cambia la hora
            ' Argumento/s       : La sintaxis del procedimiento o función consta del siguiente argumento:
            '                     Parte         Modo           Descripción
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '                     datDia      Obligatorio      Número de días del mes (31)
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '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 CambioHorarioVerano_test()
            '
            'Debug.Print CambioHorarioVerano(#1/1/2022#)
            '
            'End Sub
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            Dim bytDia As Byte
            Dim intAño As Integer
            
            intAño = Year(datDia)
            
            bytDia = 31
            datDia = DateSerial(intAño, 3, bytDia)
            
            ' busco el ultimo domingo (primero empezando por el final)
            Do While Weekday(datDia) <> vbSunday
                datDia = DateSerial(intAño, 3, bytDia)
                bytDia = bytDia - 1
            Loop
            
            CambioHorarioVerano = datDia
            
            End Function
            
            
            Public Function CalculoGMT(ByVal datDia As Date) As String
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : CalculoGMT
            ' Autor original    : Luis Viadel | https://cowtechnologies.net
            ' Propósito         : Conocer el GMT en el que nos encontramos
            ' Retorno           : Valor string con la descripción del GMT actual
            ' Argumento/s       : La sintaxis del procedimiento o función consta del siguiente argumento:
            '                     Parte         Modo           Descripción
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '                     datDia      Obligatorio      Fecha en la que queremos saber su GMT
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '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 CalculoGMT_test()
            'Dim gmt as date
            '
            'gmt= CalculoGMT(MiFecha)
            '
            'End Sub
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            
            If datDia > CambioHorarioInvierno(datDia) And datDia < CambioHorarioVerano(datDia) Then
                GMT = "+01:00"
            Else
                GMT = "+02:00"
            End If
                        
            End Function
            
            Sub CambioHorarioVerano_test()
            
            Debug.Print CambioHorarioVerano(#1/1/2022#)
            
            End Sub
            
            Compartir
            7
            Luis Viadel
            Luis Viadel

            Entradas relacionadas

            31/03/2023

            Tratamiento de errores: otras herramientas útiles


            Leer más
            30/03/2023

            Tratamiento de errores: compilación condicional


            Leer más
            29/03/2023

            Tratamiento de errores: errores personalizados


            Leer más

            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 BD Botones ComboBox Consultas CountOfLines CStr Diseño DoCmd Excel Exportar Fecha FileSystemObject Filtros For Each...Next Formulario Formularios Funciones Funciones de dominio GetFolder GetWindowRect Google maps Informes InStr Kill Left Listbox Mid Módulos Node ProcCountLines Procedimientos ProcOfLine References Replace Ribbon RunCommand Seguridad Split SysCmd Tablas TreeView VBA VBIDE

            ÚLTIMAS ENTRADAS

            • 0
              Tratamiento de errores: otras herramientas útiles
              31/03/2023
            • 0
              Tratamiento de errores: compilación condicional
              30/03/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