Modificar Escala Formulario
Modificar Escala Formulario
Dicho esto os advierto que vamos a necesitar un módulo de clase más un módulo estándar.
Para no tener que escribir todo el código en este artículo se hace necesario bajarse la BD de
ejemplo (aquí). Por consiguiente, el ejemplo empieza dando por supuesto que os habéis
bajado esta base de datos de ejemplo, llamada “ModificarEscalaFormulario.mdb”. Así pues, os
explicaré cómo importar los módulos en vuestra BD y cómo programar el formulario en
cuestión a partir de esta situación inicial.
Antes de lanzaros a aplicar este ejemplo sobre vuestras BD's por favor leed el final de este
ejemplo, donde hay un apartado con notas ¡MUY IMPORTANTES!
Vamos allá:
2.- Abrimos nuestra BD. Si tenemos Access 2007 nos vamos a menú->Datos Externos y en el
grupo de opciones “Importar” clickamos sobre el botón de “Access”.
Para usuarios de Windows 2003 nos situamos cualquier espacio “en blanco” de la ventana Base
de Datos y hacemos click con el botón de la derecha. En el menú emergente que nos aparece
seleccionamos la opción “Importar...”
4.- Access 2007: en la ventana que nos aparece nos vamos a la pestaña Módulos y
seleccionamos los dos módulos que nos aparecen (clFormWindow y modScaleForm).
Aceptamos. Cerramos la siguiente pantalla que nos aparece sin guardar los pasos de
importación.
1
Visítame en http://bit.ly/NckAccess
5.- Con esto ya nos deberían aparecer, en nuestra BD, los dos módulos anteriores (con iconos
diferentes, pues uno es un módulo de clase y otro es un módulo estándar).
• Ajustar a la pantalla: NO
8.- Nos vamos a la pestaña Eventos y en el evento “Al abrir” le generamos el siguiente código:
...
Private Sub Form_Open(Cancel As Integer)
ScaleFormWindow Me
End Sub
…
9.- Ahora nos situamos en el evento “Al cambiar el tamaño”, y le generamos el siguiente
código:
…
Private Sub Form_Resize()
ScaleFormControls Me
End Sub
…
¡MUY IMPORTANTE!
✗ El formulario se adapta a la resolución de la pantalla. Ello puede implicar que nos llevemos
alguna sorpresa cuando veamos el tamaño inicial con que se carga. Una posible solución a lo
anterior pasaría por abrir siempre maximizado el formulario. Para ello debemos sacar las
propiedades del formulario Pestaña → Eventos → Al cargar, y generar el siguiente código:
…
Private Sub Form_Load()
DoCmd.Maximize
End Sub
…
Debemos tener en cuenta que, a efectos prácticos, el formulario debe estar lo más acabado
2
Visítame en http://bit.ly/NckAccess
que podamos. Existe la posibilidad de que si añadimos nuevos elementos al formulario dé la
sensación de que “algo no funciona bien” al redimensionarlo. En este caso tendremos que o
bien compactar la BD o bien cerrarla y volverla abrir.
✗ Mi consejo final: haced una copia del formulario y guardadlo con otro nombre. Si hay
problemas siempre podremos recuperarlo. Y si vamos a aplicar el código a todos los
formularios no estaría de más tener una copia de seguridad de la base de datos antes de
aplicar ningún código. Siempre podremos recuperar los formularios a través de la importación,
cuya mecánica hemos visto al principio de este ejemplo.
Un saludo.
3
Visítame en http://bit.ly/NckAccess