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: Date vs. Date$
            05/06/2022
            VBA: obtener mi IP pública
            07/06/2022
            Mostrar todos

            VBA: una función para ordenar todos los formularios

            Publicado por Luis Viadel
            Categorías
            • Destellos formativos
            Etiquetas
            • Formularios
            • OrderBy
            • OrderByOn
            • VBA
            Function OrdenaForm(frm As Form, ByVal sOrden As String, ByVal tipo As String) As Boolean
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/vba-una-funcion-para-ordenar-todos-los-formularios
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : OrdenaForm
            ' Autor original    : desconocido
            ' Adaptado          : Luis Viadel | https://cowtechnologies.net
            ' Creado            : No lo recuerdo
            ' Propósito         : ordenar cualquier formulario por cualquier campoverdadero/faso según se porduzca la ordenación o no
            ' Argumento/s       : La sintaxis de la función consta del siguiente argumento:
            '                     Parte          Modo             Descripción
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '                     frm         Obligatorio      formulario que queremos ordenar
            '                     sOrden      Obligatorio      campo por el que queremos ordenar
            '                     tipo        Obligatorio      "ASC" o "DESC" según queramos ordenar ascendente o descendente
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Más información   : https://docs.microsoft.com/es-es/office/vba/api/Access.Form.OrderBy
            ' 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 OrdenaForm_test()
            '
            '        debug.print OrdenaForm(Me, "MiCampo", "ASC")
            '
            ' End Sub
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '
            'Ejemplo proporcionado por Alba Salvá
            '
            ' Sub OrdenaForm_test()
            '
            '        If Not OrdenaForm(Me, "MiCampo", "ASC") Then
            '           MsgBox "No se pudo ordenar el formulario por el campo '" & MiCampo & "'", vbExclamation, "Ordenar por el campo " & MiCampo
            '        End If
            '
            ' End Sub
            Dim sform As String
            
                On Error GoTo LinErr
                
                sform = frm.Name
                
                sOrden = sOrden & " " & tipo
            
                If frm.OrderByOn And (frm.OrderBy = sOrden) Then Exit Function
                
                frm.OrderBy = sOrden
                frm.OrderByOn = True
                
                OrdenaForm = True
                
                Exit Function
            
            LinErr:
                OrdenaForm = False
                
            End Function
            ¡Ver en el repositorio!
            Compartir
            25
            Luis Viadel
            Luis Viadel

            Entradas relacionadas

            30/03/2023

            Tratamiento de errores: compilación condicional


            Leer más
            29/03/2023

            Tratamiento de errores: errores personalizados


            Leer más
            28/03/2023

            Tratamiento de errores: Resume


            Leer más

            1 Comment

            1. Luis Viadel dice:
              06/06/2022 a las 11:08 am

              Alba nos ha comentado un error que habíamos cometido y lo hemos rectificado. El error se produce cuando definimos una función como “boolean” pero no le damos las opciones “True” o “False” sino que, no devolvemos ningún valor, lo que significaría que siempre es “True”. También hemos cambiado la función test para adaptarla a esta circunstancia.
              Además ha proporcionado un ejemplo haciendo uso del retorno de la función.
              Gracias 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 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: compilación condicional
              30/03/2023
            • 0
              Tratamiento de errores: errores personalizados
              29/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