Microsoft Access – Aplicar Título e Icono a nuestra aplicación usando VBA

Microsoft Access - Barra de titulo

En el siguiente tutorial os voy a mostrar lo que normalmente podemos hacer en Access si pulsamos en el menú Archivo – Opciones– Base de datos actual. Tenemos dos campos como se muestran a continuación:

Microsoft Access - Configuración Icono

Normalmente, en estos campos es donde solemos poner el título que queremos para nuestra aplicación y le indicamos la ruta donde se encuentra el icono para la misma.

Hay una cosa a resaltar y es que cuando indicamos la ruta donde se encuentra el icono nos permite la opción que hay debajo “Usar como icono Formulario e Informe” que si la marcamos se verá el mismo icono en todas las ventanas de nuestra aplicación siempre que en las propiedades del formulario Estado de los bordes sea diferente a NINGUNO o que Cuadro de control esté en SI.

Pero nuestra intención es hacerlo con VBA por lo que debemos hacer lo siguiente para llegar al mismo punto:

1)    En un Módulo, deberemos poner este código:

Option Compare Database
Function AgregarPropAp(strName As String, varType As Variant, varValue As Variant) As Integer
    Dim dbs As Object, prp As Variant
    Const conPropNotFoundError = 3270

    Set dbs = CurrentDb
    On Error GoTo AddProp_Err
    dbs.Properties(strName) = varValue
    AddAppProperty = True

AddProp_Bye:
    Exit Function

AddProp_Err:
    If Err = conPropNotFoundError Then
        Set prp = dbs.CreateProperty(strName, varType, varValue)
        dbs.Properties.Append prp
        Resume
    Else
        AddAppProperty = False
        Resume AddProp_Bye
    End If
End Function

Function AgregarTitulo()
Dim intX As Integer  'Definimos una variable

    Const DBText As Long = 10
    intX = AgregarPropAp("AppTitle", DBText, "Mi Aplicación v1.0     [" & DLookup("[Usuario]", "Usuario") & "]")
    'En este caso lo que hago es indicarle cómo se va a llamar la aplicación y en el mismo
    'título le indico cómo se llama el usuario que ha entrado a ella. Pero se puede poner lo que cada cual le apetezca

    intX = AgregarPropAp("AppIcon", DBText, CurrentProject.path & "\Pdamulti.ico")
    'En esta parte le indico dónde se encuentra el icono, con CurrentProject.path hago
    'referencia a la ruta donde se encuentra el programa ejecutándose y el nombre del
    'icono para que lo muestre junto al título de la aplicación.

    Application.RefreshTitleBar 'Refresco el barra de título de la aplicación
End Function

El siguiente código que os indico debéis ponerlo en el primer formulario que se abre tras ejecutar la aplicación, dentro de propiedades – Al abrir:
Microsoft Access - Evento al abrir

Private Sub Form_Open(Cancel As Integer)
    Me.Usuario = Environ("Username") 'Indicamos quien es el usuario del PC
    Call AgregarTitulo  'Llamos al módulo para que nos ponga el título e icono al arrancar la aplicación.
End Sub

Puedes descargarte el ejemplo desde el siguiente enlace en SkyDrive

2 comentarios

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.