minimaliseren,verkleinen, en sluiten niet zichtbaar maken

Status
Niet open voor verdere reacties.

pdater

Gebruiker
Lid geworden
10 mei 2010
Berichten
55
Beste forumleden,
Ik heb een databank ontworpen,die goed lijkt te werken.Wel is het zo dat in de rechterbovenhoek steeds de 3 icoontjes staan om een programma te minimaliseren, te verkleinen en te sluiten (het kruisje) steeds zichtbaar zijn in de databank.(idem bij Word en excel) graag zou ik deze weg hebben om te vermijden dat men de databank afsluit via het drukken op het kruisje. Ik weet dat men in een formulier dit in de formuliereigenschappen kan aanpassen. Doch deze icoontjes zijn eerder gelinkt aan het programma van access zelf. Ik vind ook niet direct terug in de algemene opties van access waar ik deze zou kunnen uitvinken. heeft iemand soms een idee hoe ik dit wel zou kunnen wegkrijgen?
Alvast bedankt.
groeten,
Rik
 
Waarom zou je daar vanaf willen? Mensen mogen een db toch afsluiten als ze klaar zijn? Zowiezo kun je geen formulier sluiten zonder dat je het bewerkte record opslaat, dus er gaat geen werk verloren als je de db sluit. Klinkt een beetje als gebruikertje pesten...
 
Waarom zou je daar vanaf willen? Mensen mogen een db toch afsluiten als ze klaar zijn? Zowiezo kun je geen formulier sluiten zonder dat je het bewerkte record opslaat, dus er gaat geen werk verloren als je de db sluit. Klinkt een beetje als gebruikertje pesten...

Michel,
Ik heb zelf een knop toegevoegd op het formulier om de databank af te sluiten, alleen merk ik dat soms een query die bij het afsluiten moet worden uitgevoerd (om de gegevens van de gebruiker die de databank het laatste gebruikt te wissen) niet altijd werkt als men de databank afsluit via het kruisje. (ook al zet ik de docmd functie bij de eigenschap " bij sluiten formulier"
Vandaar dat ik liever heb dat men de aangemaakte knop gebruikt eerder dan het rechter standaard kruisje om de databank af te sluiten.
 
Ik zou de opschoning doen bij het starten van de database; dat kun je wel gecontroleerd laten uitvoeren. Bijvoorbeeld middels de macro AutoExec. Overigens is het wel mogelijk om de complete Access omgeving te verbergen, zodat je alleen het menu ziet. In bijgaand zipje een voorbeeld van hoe dat er uit ziet.
 

Bijlagen

Ik zou de opschoning doen bij het starten van de database; dat kun je wel gecontroleerd laten uitvoeren. Bijvoorbeeld middels de macro AutoExec. Overigens is het wel mogelijk om de complete Access omgeving te verbergen, zodat je alleen het menu ziet. In bijgaand zipje een voorbeeld van hoe dat er uit ziet.

Michel,
Bedankt voor je input, al geef ik toe dat uw voorbeeld voor mij wel wat te hoog gegrepen is. Maar ik had ondertussen ook al de opschoning laten uitvoeren bij het heropstarten van de databank. Op die manier mag het kruisje wel blijven staan.
Alvast bedankt voor de snelle reacties.
groeten,
Rik
 
Mochten er toch nog mensen geïnteresseerd zijn in het verbergen en zichtbaar maken van de minimaliseer-, maximaliseer- en sluitknop, kijk dan op onderstaande linken:

1. Verbergen

http://www.techonthenet.com/access/modules/hide_close.php

2. Zichtbaar maken

http://www.techonthenet.com/access/modules/unhide_close.php

Dit werkt ook in Access 2010, dat heb ik getest.

Beste ChackMan,
bedankt voor je reactie, wel ben ik een leek in VBA. ik heb inderdaad de code geplakt in een module. maar moet men deze module een speciale naam geven ? ik had de module volgende naam gegeven: "HideAccessCloseButton" vervolgens had ik ook in de eigenschap "bij sluiten formulier" (het loginformulier) de vermelde code geplakt:
Private Sub Form_Close()
HideAccessCloseButton

End Sub
Maar het lijkt nog niet te lukken. wat doe ik verkeerd? kan je mij nog even verder helpen?
alvast bedankt,
groeten,
Rik
 
Laatst bewerkt:
Je moet de procedure uitvoeren, de naam van de module is totaal irrelevant.
Als je mijn voorbeeld zou bekijken, dan zie je een procedure bij het laden van het startformulier;
Code:
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
 
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" _
    (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Sub Form_Load()
    Call fSetAccessWindow_v2(0)
End Sub
De procedure zelf ziet er zo uit:
Code:
Function fSetAccessWindow_v2(nCmdShow As Long)
Dim loX As Long
Dim loForm As Form
    
    On Error Resume Next
    Set loForm = Screen.ActiveForm

    If Err <> 0 Then
        loX = apiShowWindow(hWndAccessApp, nCmdShow)
        Err.Clear
    End If

    If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then
        MsgBox "Cannot minimize Access with " & (loForm.Caption + " ") & "form on screen"
    ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then
        MsgBox "Cannot hide Access with " & (loForm.Caption + " ") & "form on screen"
    Else
        loX = apiShowWindow(hWndAccessApp, nCmdShow)
    End If
    fSetAccessWindow_v2 = (loX <> 0)

End Function
En meer is het eigenlijk niet.
 
Laatst bewerkt:
Beste ChackMan,
bedankt voor je reactie, wel ben ik een leek in VBA. ik heb inderdaad de code geplakt in een module. maar moet men deze module een speciale naam geven ? ik had de module volgende naam gegeven: "HideAccessCloseButton" vervolgens had ik ook in de eigenschap "bij sluiten formulier" (het loginformulier) de vermelde code geplakt:
Private Sub Form_Close()
HideAccessCloseButton

End Sub
Maar het lijkt nog niet te lukken. wat doe ik verkeerd? kan je mij nog even verder helpen?
alvast bedankt,
groeten,
Rik

Natuurlijk wil ik je wel helpen Rik. Plaats hier even het voorbeeldje waarbij het niet lukt, om het systeemmenu van Access te verbergen, dan kijk ik er even naar. De naam van de module is van geen enkel belang en kun je noemen zoals je zelf wilt bv. modSysMenu

Welke versie van Access gebruik je eigenlijk?
 
Laatst bewerkt:
Natuurlijk wil ik je wel helpen Rik. Plaats hier even het voorbeeldje waarbij het niet lukt, om het systeemmenu van Access te verbergen, dan kijk ik er even naar. De naam van de module is van geen enkel belang en kun je noemen zoals je zelf wilt bv. modSysMenu

Welke versie van Access gebruik je eigenlijk?

Hallo, gast0224 en Michel,

Ik heb deze code nog eens opnieuw geprobeerd en nu werkt het wel :-)
Waarschijnlijk zal ik ze niet volledig gecopieerd hebben ofzo? (het scherm van de laptop is niet zo groot)
In alle geval al 2 bedankt.

ps: ik werk in access 2010
 
Octafisch,

Ik heb u code geplaatst in men database nu met het inlog scherm werkt dat perfect , maar normaal gezien als men ingelogd is gaat men verder naar het navigatieformulier dat volgens hun level toegewezen is en hier loopt het mis . Ik ben ingelogd maar krijg geen navigatieformulier te zien ? Enig idee wat er fout is?
 
Als je werkt met een geminimaliseerde Accessomgeving, dien je bij al je formulieren de eigenschap "Pop up" in te stellen op "Ja".
 
Dat niet alleen: Modaal moet ook op <Ja>. Zorg er ook voor dat elk formulier bij sluiten het startformulier weer opent, anders raak je de werkomgeving ook kwijt.
 
Dat klopt helemaal, daarom zou ik liever voor de andere methode kiezen. Dan blijf je veel flexibeler.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan