24. september 2002 - 07:49Der er
13 kommentarer og 2 løsninger
Close button
Er der nogen måde man kan fjerne eller disable Min-, Max- og lukkeknappen allerøverst i Access?
Grunden til at jeg gerne vil gøre dette er at jeg har lavet en rutine i en form_close event som sørger for at lukke databasen og udføre andre ting - og jeg er ikke interesset i kunne lukke databasen andre steder fra - hvis det er muligt selvfølgelig..
Der er en egenskab som hedder max/min enabled og close enabled på egenskabsarket for formularen, under fanen 'formatter'. Hvis du fravælger degge disse, burde dit ønske gå i opfyldelse... ;=)
Du kan normalt ikke fjerne disse knapper ( måske findes der et eller andet API der kan ) Jeg plejer selv at gøre det på følgende måde. 1. Opret en global variabel af Boolean typen der sættes til False 2. Lav en formular der åbnes skjult når db åbnes. På denne formualrs On Close event checker du værdien af din globale variabel. Hvis den er False cancler du lukningen. 3. Lav en eller anden luk ned rutine som sætter variablen til True og afslutter Access.
Dette bevirker at din applikation ikke kan afsluttes hvis ikke din variabel er sat til True og det kan du så styre gennem din luk ned rutine.
Det fungerer rent faktisk rimeligt godt på denne måde.
Der er ingen events på databasen som helhel (som man kan fange på almindelig vis i hvert fald)
Du kan helt sikkert fjerne knappen vha et API, som Hugo Pedersen skriver. jeg kender det bare ikke.
Men Hugo Pedersens forslag med at lave en public variabel og en formular, som altid er åben, er den mest oplagte løsning, som jeg selv bruger i alle mine applikationer.
General: Prevent Access from closing --------------------------------------------------------------------------------
(Q) I want to make sure that users always exit my database using the Exit button provided on my Switchboard. However, I'm not able to prevent them from closing Access itself. Is there a way to control how they exit Access?
(A) You can use the UnLoad event of a form to do this. If your switchboard is the first form to open and always remains open in the background, you can apply the following method on the switchboard. Otherwise, I would recommend creating a hidden form for this functionality.
Define a new variable in a new module
Public pboolCloseAccess as Boolean 'Note: Access 2.0 does NOT recognize Boolean 'type variables. Use integer type instead, 'passing a -1 as True, and 0 as False.
Now, when you open the database, set pboolCloseAccess=False
In your (Switchboard/Hidden) Form's Unload Event, set the variable to true and also check for its value pboolCloseAccess=True DoCmd.Close acForm, "hfrmCloseAccess" docmd.Quit
If your Switchboard form closes during one instance, then create a new form (hfrmCloseAccess). You can minimize the size if you want because it will be in hidden mode. Type the following in hfrmCloseAccess's OnUnload Event if not pboolCloseAccess then cancel = true
Create the Autoexec macro. If you already have one, make sure that you open hfrmCloseAccess before anything else IN HIDDEN MODE.
The reasoning here is, when someone clicks X in Access's window, the System starts closing down all open objects in a first-open-last-close basis. Since your hfrmCloseAccess form is the first one to open, it will be the last to close. And since the boolean var is still False, Cancel will always be true, hence Access will not close. On the other hand, when the user clicks on the Exit button or closes your switchboard, you're setting the boolean var to True and then closing the hfrmCloseAccess form, which WILL close now and hence Access will close itself.
Optimized for Microsoft Internet Explorer If you find the font size too small or too big on this site, then use control-'[' and control-']' or control-'IntelliMouse wheel scroll' key combinations in Netscape and Internet Explorer respectively to auto-size the fonts.
Jamen det er jo fantastisk - og så virker det oven i købet :o)
Tak for hjælpen!!!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.