Der alte Startdialog wirkt wie 1999
Du kennst das.
Access startet.
Dann kommt ein Formular mit grauem Hintergrund, Textfeld, und einem Button „Weiter“.
Mehr 90er geht kaum.
Dabei lässt sich mit einfachen Mitteln ein Splash-Screen bauen, der professioneller wirkt.
Ohne Zusatztools. Ohne ActiveX. Nur mit Bordmitteln – und etwas Disziplin.
Ziel: Klarer, moderner Splash-Screen mit System
Was ein guter Splash-Screen leisten sollte:
- Saubere Optik beim Start
- Kurze Lade- oder Statusanzeige
- Firmenlogo oder Anwendungstitel
- Automatisches Weiterleiten nach x Sekunden oder Login
- Keine störenden Ränder, Menüs oder Scrollleisten
Grundlagen: Eigenes Splash-Formular
Du legst ein neues Formular frmSplash
an.
Kein Navigationsbereich, keine Steuerelemente außer dem Nötigsten.
Schaltflächen und Textboxen mit runden Ecken, moderner Schrift (Segoe UI, 10pt+).
Hintergrundfarbe: z. B. RGB(245, 245, 245)
Einstellungen im Formular:
- Rahmenstil: Ohne
- Automatisch zentrieren: Ja
- Popup: Ja
- Modal: Ja
- Navigationsbuttons: Nein
- Datensatzmarkierer: Nein
Code: Splash automatisch schließen
Du kannst das Formular nach ein paar Sekunden automatisch schließen.
Private Sub Form_Timer()
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "frmHauptmenü"
End Sub
Private Sub Form_Load()
Me.TimerInterval = 3000 ' in Millisekunden
End Sub
Alternativ: Prüfen, ob bestimmte Initialisierungen abgeschlossen sind, z. B. Verbindungsstatus.
Optional: Ladeinformationen anzeigen
Wenn Du beim Start z. B. Datenbankverbindung prüfen oder ODBC testen willst, kannst Du den Splash nutzen, um Statusmeldungen anzuzeigen.
Public Sub LadeStatus(Text As String)
Forms!frmSplash.lblStatus.Caption = Text
DoEvents
End Sub
Dann kannst Du beim Start z. B. schreiben:
Call LadeStatus("Verbindung prüfen...")
If Not IstODBCVerfügbar() Then
MsgBox "Keine Verbindung.", vbCritical
DoCmd.Quit
End If
Call LadeStatus("Benutzerrechte laden...")
Optional: Animationen per API
Wenn Du’s etwas aufhübschen willst: Nutze Fade-In
oder Slide
über Windows-API.
Private Declare PtrSafe Function AnimateWindow Lib "user32" ( _
ByVal hwnd As LongPtr, ByVal dwTime As Long, ByVal dwFlags As Long) As Long
Private Const AW_BLEND = &H80000
Private Sub Form_Load()
AnimateWindow Me.hwnd, 300, AW_BLEND
End Sub
Damit startet das Formular sanft – statt plötzlich.
Gibt gleich ein professionelleres Gefühl.
Optional: Splash nur bei erster Sitzung
Wenn Du das Formular nur beim ersten Start des Tages anzeigen willst, speichere z. B. in einer lokalen Tabelle oder Datei einen Zeitstempel.
Function IstNeuerStart() As Boolean
Dim letzterStart As Date
On Error Resume Next
letzterStart = CDate(DLookup("LetzterStart", "tblLokaleEinstellungen", "User = '" & Environ("USERNAME") & "'"))
IstNeuerStart = (Date > letzterStart)
End Function
Wenn ja, dann Splash anzeigen – sonst direkt ins Menü springen.
Mein Fazit
Der Startbildschirm ist das Erste, was der Nutzer sieht.
Und er entscheidet mit, ob eine Anwendung „fertig“ wirkt – oder wie eine Bastellösung.
Ein moderner Splash-Screen braucht kein großes Design.
Nur ein bisschen Aufmerksamkeit.
Wenn Du willst, baue ich Dir ein sauberes Splash-Template.
Einmal einbauen – und alle Deine Anwendungen wirken gleich 10 Jahre jünger.
Ganz norddeutsch: schlicht, klar, funktional.
No responses yet