palonemike
Goto Top

VBA Access - Minimieren durch doppelklick auf Fenster verhindern

Guten Morgen,
ich brauche ein Formular, welches nicht geschlossen, minimiert oder sonstiges werden kann..

Soweit so gut ich habe alles ausgestellt! Die Buttons des Fensters sind weg, sonstige Leisten sind komplett ausgeblendet, das Formular läuft im Vollbild, Kontextmenü ist auch aus.. Es hängt wirklich nur noch daran, dass man das Formular trotzdem per doppelklick auf die Fensterleiste minimieren kann.. Könnte mir jemand dazu den VBA Code geben damit ich dies verhindern kann?

lg Mike

Content-ID: 174370

Url: https://administrator.de/contentid/174370

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

colinardo
colinardo 10.10.2011 um 10:55:23 Uhr
Goto Top
Du kannst dem Formular zusätzlich folgende Eigenschaften vergeben damit es den Fokus behält:
Gebunden = Ja
Rahmenart = Keine

Wenn du zusätzlich verhindern willst das das Fenster und somit die Datenbank geschlossen wird kannst du folgenden Code in das VBA Projekt des Formulars kopieren:
(Aber Vorsicht: Du verhinderst damit allgemein in Kombination mit den obigen Eigenschaften das die Datenbank überhaupt geschlossen werden kann; besser wäre hier eine Sicherheitsabfrage für den Benutzer z.B. via MsgBox)
Private Sub Form_Unload(Cancel As Integer)
   Cancel = True
End Sub

Hoffe das hilft dir weiter...
face-wink Uwe
PalOneMike
PalOneMike 10.10.2011 um 11:28:09 Uhr
Goto Top
Hallo, danke das klingt schon sehr gut und funktioniert auch soweit face-smile

mir gings nur darum, dass niemand etwas ändernm minimieren oder schließen kann.. Im unteren Eck ist ein Button zum Login für einen Admin, welcher dann das aktuelle Formular schließt nach anmeldung und ein Adminmenü öffnet. Mit der weiterleitung auf das Adminformular ist dann alles wieder erlaubt..

mit dem "Cancel = true" wird dann auch das schließen nach dem Login als Admin verhindert oder?

lg Mike
colinardo
colinardo 10.10.2011 um 11:43:24 Uhr
Goto Top
mit dem "Cancel = true" wird dann auch das schließen nach dem Login als Admin verhindert oder?

ja das stimmt ! Aber du könntest im Code eine globale Variable hinterlegen die speichert wer gerade angemeldet ist und dann im obigen Code eine Abfrage dieser Variablen hinterlegen. z.B. so:

Private Sub Form_Unload(Cancel As Integer)
   if loggedInUser = "Admin" then  
     Cancel = False
   else
     Cancel = True
   End If
End Sub
PalOneMike
PalOneMike 10.10.2011 um 12:45:17 Uhr
Goto Top
Einwandfrei face-smile Manchmal liegt die Lösung so nah und man kommt selbst nicht drauf face-smile)

Wunderbar.. vielen, vielen Dank :D
*thumbsUp*