Retos Software-Chuchi



Services

Praxis-Rezepte

Kontakt
E-Mail
Home

























 
Innovative Verpflegung für Ihre Computer
Rezepte -> Microsoft Access -> Anwendungs-Entwicklung -> Access schliessen verhindern
 

 
 

Access schliessen verhindern

Bei Netzwerk-Applikationen mit Access, kann es wichtig sein, dass die Benutzer das Access nicht über das Systemmenue schliessen können. Da es zu Problemen führen kann, wenn ihre Anwendung nicht über Ihre eigene "Schliessen"-Routine, die Daten auf den Server zurückschreibt, verlassen wird.

Das Systemmenue und die Systembuttons der Formulare lassen sich über die Formular-Eigenschaften ausblenden. Im Access-Fenster selber lassen sie sich aber nicht auschalten. Mit einem kleinen Trick kann man aber dem Menupunkt "Schliessen" und dem [X]-Button die Wirkung nehmen:

Access verhindert das schliessen eines Formulares, wenn die Access-Variable <CANCEL> in der Subprozedur "Form_Unload" auf TRUE gesetzt ist. Wählt der Benutzer den Menuepunkt "Schliessen" aus dem Access-Systemmenue oder drückt er den [X]-Button während diese Variable auf TRUE ist passiert nichts, da Access dieses Formular nicht schliessen kann.

Um diesen Umstand in ihrer Anwendung nutzen zu können laden sie am besten beim Anwendungsstart ein leeres Formular versteckt im Hintergrund. Mit einer globalen Variablen, die sie in der Subprozedur "Form_Unload" abfragen, setzen sie nun die Variable <CANCEL> auf TRUE.

Private Sub Form_Unload(Cancel As Integer)
' Globale Variable "AllowQuit" abfragen
If AllowQuit <> True Then
Cancel = True
End If
End Sub

Das heisst nun also, dass sich die Anwendung nur noch schliessen lässt, wenn die globale Variable <AllowQuit> den Wert TRUE besitzt.

Setzen sie diese Variable beim Start ihrer Anwendung auf FALSE und blenden sie die Systemmenues und -buttons aller Formulare aus, kann der Benutzer ihre Anwendung nur noch über ihre selbstgeschriebene Schliessen-Prozedur beenden. Diese Prozedur muss allerdings vor dem Schliessen-Befehl die Variable <AllowQuit> auf TRUE setzten.

Global AllowQuit As Integer
Public Sub StartApplikation()
'Globale Variabel auf False, damit das Formular
'"frmAllowQuit" nicht geschlossen werden kann
AllowQuit = False
'Formular im Hintergrund laden
DoCmd.OpenForm "frmAllowQuit", , , , , acHidden
'Startformular der Applikation laden
DoCmd.OpenForm "frmMain"
End Sub
Public Sub EndeApplikation()
'Globale Variabel auf True, damit das Formular "frmAllowQuit"
'geschlossen werden kann
AllowQuit = True
'Access schliessen
DoCmd.Quit acSaveYes
End Sub

Mit dieser Lösung zwingen sie den Benutzer die Anwendung über die Prozedur "EndeApplikation" zu verlassen. Ausserdem können sie steuern von wo aus in der Anwendung ein Beenden möglich sein soll. Alle nötigen Aktionen, die für ein sauberes verlassen der Anwendung nötig sind, können sie jetzt in dieser Prozedur ausführen.

 
 

 

Benötigen Sie Unterstützung oder weiterführende Informationen, gerne helfen wir Ihnen weiter, reden Sie doch einfach mit uns.

Die Informationen dieser Seite dürfen, gemäss unseren Nutzungsbestimmungen, kostenlos weiterverwendet werden.

 

Reto Maurer's Software-Chuchi
Seestrasse 26
CH-8802 Kilchberg-Zürich
Telefon: +41 79 635 47 31
E-Mail:info@software-chuchi.ch

 

   

URL: http://www.software-chuchi.ch/praxis/microsoft_access_anwendungs_entwicklung_nichtschliessen.php
Haben Sie technische Probleme oder Bemerkungen, wenden Sie sich an unseren Webmaster
© 2000-2004 Reto Maurer's Software-Chuchi. Alle Rechte vorbehalten.