Rubrik: Access | VB-Versionen: VBA | 20.04.04 |
Formularwechsel über die Taskleiste verhindern (Access) Dieser Tipp zeigt, wie sich unter Access verhindern lässt, dass der Anwender über die Taskleiste zwischen den einzelnen geöffneten Formularen hin- und herwechseln kann. | ||
Autor: Richard Mittelstädt | Bewertung: | Views: 17.509 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Falls unter MS-Access die Option "Fenster In Taskleiste" gesetzt ist (=Standard-Einstellung), wird jedes geöffnete Fenster / Formular separat in der Windows-Taskleiste angezeigt. Soll der Anwender Ihrer Access-Anwendung nicht über die Taskleiste zwischen den einzelnen Formular hin- und herwechseln können, muss die genannte Einstellung deaktiviert werden.
Die Option "Fenster in Taskleiste" kann auch bequem per Code abgefragt bzw. geändert werden, wie nachfolgende Funktion zeigt.
Public Sub OptionFensterInTask() ' ************************************************************** ' Falls die Option "Fenster In Taskleiste" gesetzt ist ' (=Standard-Einstellung), wird verlangt, diese zu deaktivieren. ' Andernfalls wird die Anwendung sofort wieder geschlossen. ' ' Diese Funktion sorgt dafür, dass geoeffnete ACCESS-Datenbanken ' jeweils nur 1x ! in der Taskleiste erscheinen, d.h. ' es wird verhindert: ' ' - dass alle geöffneten Formulare einzeln in der Taskleiste ' erscheinen und so ' - über die Taskleiste zwischen den Formularen ' "wild umhergeschaltet" werden kann ' ' Die Einstellung der Option "Fenster In Taskleiste" ist global, ' bezieht sich also auf die komplette ACCESS-Umgebung und nicht ' nur auf die aktuelle Datenbank! ' ' Zum Testen bitte die Option "Extras -> Optionen -> Ansicht -> ' Fenster In Taskleiste" aktivieren... ' ************************************************************** On Error GoTo ErrHandler Dim sSetup As String Dim sMsg As String On Error GoTo ErrHandler Dim sSetup_DEU As String ' 2006-02-06 engl. Option verwenden, Deu. anzeigen Dim sSetup As String Dim sMsg As String ' Option "Fenster in Taskleiste anzeigen" deaktivieren! sSetup_DEU = "Fenster in Taskleiste anzeigen" ' 2006-02-06 sSetup = "ShowWindowsInTaskbar" ' 2006-02-06 englisch !! If Application.GetOption(sSetup) = True Then ' 2006-02-06 englische Option + Anzeige deutsche Option sMsg = "Einstellung der Option:" & vbNewLine & vbNewLine & _ " " & sSetup & " (" & sSetup_DEU & ")" & vbNewLine & vbNewLine & _ "ist gesetzt und muss deaktiviert werden !" & vbNewLine & _ "(Cancel BEENDET ACCESS.)" If MsgBox(sMsg, vbCritical + vbOKCancel, _ "ACCESS-Einstellung...") = vbCancel Then ' ACCESS beenden ohne Speichern ! DoCmd.Quit acQuitSaveNone Else ' Option deaktivieren! Application.SetOption sSetup, False End If End If Exit Sub ErrHandler: MsgBox Err.Number & " " & Err.Description DoCmd.Quit acQuitSaveNone End Sub
Beispiel für den Aufruf:
Private Sub Form_Load() ' Einstellung "Fenster in Taskleiste" prüfen ' und ggf. deaktivieren Call OptionFensterInTask End Sub