Version 1.1 First published 17 July 2022 Approx 1 MB (zipped)
This is a follow up to my earlier article
Hide Access Splash Screen
It was prompted by a question from Jose Otoya in response to an old video by DataPig Technologies now available on YouTube at:
Splash Screen form in Access that shows on start up
Jose asked:
Is there a way to show a splash form in place of the access splash screen during DB start up?
In my reply, I outlined three steps that are needed to do this successfully:
1. First you need to hide the Access splash screen. See my article
Hide Access Splash Screen
2. Next create your own splash form as your startup form - make it borderless & popup.
I recommend you hide the Access application window when you run this. See my article:
Control the Application Interface
3. Add code to close this form after e.g. 3 seconds and open your main form.
Normally you would show the Access application window, ribbon etc from now on. Use code from the previous link to do this
I thought it might be useful to create an example app demonstrating how the Access splash screen can be replaced with your own custom splash form.
The splash form can be used to display application info and/or be used to run startup code.
Microsoft Access 365 Splash Screen
|
Custom Splash Form
|
1. First HIDE the Access splash screen.
The following explanation is taken from my earlier article,
Hide Access Splash Screen
By default, the Access splash screen is shown briefly when any Access application is opened directly by double clicking the file or from a shortcut.
However, for some developers this is unwanted behaviour. For example, if they have their own splash form for display at startup.
There is a simple method that prevents the Access splash screen appearing:
Create a very small bitmap file with exactly the same name as the database file and in the same folder.
The process is as follows:
• Right click in the folder where your database is stored and click New . . . Bitmap Image
• Rename the image to match the database e.g. Test.bmp if the database is Test.accdb
• Right click the BMP file and click Edit. The BMP file opens in the default app e.g. MS Paint.
• Click Resize and change to 1px by 1px
Next time the database is opened, the splash screen will not be shown.
NOTE:
a) To be strictly accurate, the small bitmap image you created opens instead but is too small to notice
b) Another way of hiding the splash screen is to create a desktop shortcut and set it to Run Minimized.
For this to work, your start form must be a popup and set to load maximized. Doing all of this will hide the Access application interface.
c) In both cases, if another Access app is already open, the startup screen will still be displayed
2. Create a small popup form to be your new splash screen.
Make it borderless & centred on the screen. Set this as your startup form in Access options
The form could contain version info about your app, company logo, contact details etc . . .
I often run startup code whilst the splash form is displayed so it is completed before the main form appears
OPTIONAL:
Hide the Access application window at startup so the splash form appears 'floating on the desktop'
For full details, see my article:
Control the Application Interface
NOTE:
On some PCs the application window may briefly appear then disappear. If that is an issue, see alternative method b) below
3. Use a timer event or the Sleep API code to close the splash form after a few seconds . . . . . . and open your main form.
You may wish to restore the Access application interface at this point.
OPTIONAL - fade out the splash form over a couple of seconds
NOTE:
The modules modDatabaseWindow, modFadeForm, modNavPaneTaskbar and modRibbon include APIs and code needed for these optional effects
If you don’t want to use any of the optional effects, you only need the module modFunctions
CODE: (used in splash form)
Private Sub Form_Load()
DoCmd.Restore
'OPTIONAL - hide the Access application interface
HideAppWindow Me
'set captions from table tblSettings (loads faster than unbound textboxes)
Me.lblVersion.Caption = "Version " & GetVersion & " " & GetVersionDate
Me.lblAuthor.Caption = GetAuthor
Me.lblCompany.Caption = GetCompany
Me.lblWebPage.Caption = GetWebsite
DoEvents
'add & update info messsage
Me.lblInfo.Caption = "Loading application "
Dim i As Integer
For i = 1 To 8
'pause for 0.5 seconds using Sleep API
'could use Timer event if preferred
Sleep 500
Me.lblInfo.Caption = Me.lblInfo.Caption & " . "
DoEvents
Next i
DoEvents
'OPTIONAL - fade out splash form
FadeInOut Me.Name, "Out"
'close splash form & open main form
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "frmMain"
End Sub
'===================================
Private Sub Image1_DblClick(Cancel As Integer)
'can use to exit app if problems occur
Application.Quit
End Sub
Click to download: Custom Splash Form v1.1 (zipped)
ALTERNATIVE METHODS
a) You may not want to use animation or code in your custom splash form. If so, you could save the form as a BMP image
Give it the same name as your database & in the same folder instead of the 1px x 1px bitmap image as described above.
That image will now be shown briefly when the app is opened.
I do NOT recommend this method as the image usually disappears far too quickly to be effective as a splash form.
Click to download: CSF_StartImage v1.1 (zipped)
b) The side effect where the Access interface appears briefly is completely eliminated by using a starter app just containing the splash form.
Then use that to open the main app when the starter app/splash form closes.
IMPORTANT: The starter app should be opened using a shortcut which is set to RUN MINIMIZED
Click to download: CSF_StartApp v1.1 (zipped)
VIDEO
To see this in action, please watch the accompanying video on my YouTube channel: Create Custom Splash Form or you can click below:
If you subscribe to my Isladogs on Access channel on YouTube, you will be notified whenever new videos are released.
Colin Riddington Mendip Data Systems Last Updated 17 July 2022
Return to Example Databases Page
|
Return to Top
|