ORDENACION DE FORMULARIOS Y SUBFORMULARIOS CONTINUOS

 

DESCRIPCION:

Este ejemplo presenta una función que permite ordenar cualquier formulario o subformulario en vista de formularios continuos, por cualquiera de su columnas y con solo hacer click sobre la etiqueta que encabeza la columna en cuestion

 

 

EXPLICACION:

►El Orden cambiará alternativamente (Ascendente, Descendente) con cada nuevo Clik sobre la Etiqueta.

►La función dara formato en relieve a las etiquetas. Dara formato en bajo relieve y color de fuente en rojo a la etiqueta correspondiente a la ordenacion activa, en la que aparecera un flechita indicando el orden (ascendente ▼ o descendente ▲) de la ordenacion.

►La unica condicion es que las etiquetas (que deben ser independientes) tengan el mismo nombre del campo precedido de un prefijo de 3 caracteres. Por ejemplo columna: IdProveedor --> etiqueta lblIdProveedor. Esto se hace porque normalmente, en un formulario hay etiquetas a las que no se desea aplicar este procedimiento. Y este detalle nos permite excluir de la aplicacion del procedimiento a aquellas que no coiencen por el prefijo.

►Para ordenar un Formulario basta con incluir en el evento al Abrir del mismo la llamada a la Funcion OrdenaFrm. Si se trata de un subformulario debe incluirse en el evento al abrir del subformulario.

►La funcion usa como parámetros: --> frm As Form, se debe pasar Me como parametro.

                                                                                   Identifica el formulario o subformulario al que se quiere  aplicar la ordenacion.

                                 --> ordenInicial As Control, se debe pasar Me.NombreControl.

                                                           Identifica la etiqueta por la que se quiere que aparezca ordenado el formulario al abrirlo.

►Por tanto la llamada queda asi: Call OrdenaFrm(Me, Me.NombreEtiqueta)

 

►Mi agradecimiento a los compañeros del Foro de Acces y VBA que me han ayudado a darle forma a esta Chapucilla.

►Espero que le pueda ser de utilidad a alguien.

                                                                                  Marciano Almohalla. Febrero 2005