Access - Inmovilizar columnas por Codigo

 
Vista:

Inmovilizar columnas por Codigo

Publicado por Eva (7 intervenciones) el 07/03/2005 10:51:16
Tengo una tabla en la que inmovilizo varias columnas, al cerrar y volver a abrir me conserva la inmovilización, sin embargo cuando la base de datos la convierto a .mde ya no me respeta la condición.
Alguna solución? porfa es urgente.
Me gustaría hacerlo por código, he estado mirando la propiedad FrozenColumns, pero es de sólo lectura.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conservar inmovilización de columnas en tabla .mde

Publicado por Alejandro (4142 intervenciones) el 29/05/2023 18:39:29
Cuando conviertes una base de datos de Access a formato .mde (base de datos ejecutable de Microsoft Access), algunas funcionalidades de diseño, como la inmovilización de columnas en una tabla, pueden perderse. Esto se debe a que el formato .mde está destinado a ser una versión ejecutable de la base de datos, lo que implica la restricción de ciertas operaciones de diseño.

Sin embargo, hay una solución alternativa que puedes implementar para conservar la inmovilización de columnas en tu tabla incluso en un archivo .mde. A continuación, te sugiero un enfoque basado en código:

1. Abre el formulario que contiene la tabla en modo Diseño.
2. Accede al editor de código VBA presionando Alt + F11.
3. En el editor de código, selecciona el formulario en el Explorador de proyectos.
4. En el menú superior, selecciona "Ver" y luego "Propiedades" para abrir la ventana de propiedades del formulario.
5. En la ventana de propiedades, ve a la pestaña "Eventos".
6. Busca el evento "Al abrir" (On Open) y haz doble clic en el área en blanco junto a él para generar automáticamente un procedimiento de evento vacío.
7. En el procedimiento del evento "Al abrir", agrega el siguiente código:

1
2
3
4
Private Sub Form_Open(Cancel As Integer)
    ' Recupera la configuración de inmovilización de columnas guardada en una tabla auxiliar
    Me.ColumnOrder = DLookup("ColumnOrder", "NombreDeLaTablaAuxiliar")
End Sub

8. Reemplaza "NombreDeLaTablaAuxiliar" con el nombre real de la tabla auxiliar en tu base de datos que contiene la configuración de inmovilización de columnas.
9. Guarda y cierra el editor de código VBA.
10. Guarda y cierra el formulario.

Cuando conviertas la base de datos a formato .mde y ejecutes el formulario, el código en el evento "Al abrir" recuperará la configuración de inmovilización de columnas desde la tabla auxiliar y la aplicará al formulario, conservando así la inmovilización de columnas incluso en el archivo .mde.

Asegúrate de mantener actualizada la tabla auxiliar con la configuración correcta de inmovilización de columnas cada vez que realices cambios en las columnas inmovilizadas en la tabla.

Espero que esta solución basada en código te ayude a conservar la inmovilización de columnas en una tabla incluso en un archivo .mde.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar