Access openen altijd in volledig scherm

Status
Niet open voor verdere reacties.

MarcovD

Gebruiker
Lid geworden
3 feb 2006
Berichten
109
Bij het opstarten van mijn access database wil het wel eens gebeuren dat deze niet als volledig scherm wordt gestart.
Is het ook mogelijk om access altijd te laten opstarten als volledig scherm?

(ik heb al een macro gemaakt met als naam AutoExec en als actie maximaliseren)
 
Indien je in je open_form event de volgende regel opneemt wordt je database altijd in een gemaximaaliseerde form geopend

docmd.maximize

Je zal uiteraard wel in je startup optie's dit formulier moeten laten openen.
 
Idee is goed, uitwerking echter niet. Het gaat om dit commando:
Code:
Application.RunCommand acCmdAppMaximize
Dit zet je in de gebeurtenis <Bij laden> van je opstartmenu, of je laat het uitvoeren via een procedure in je AutoExec macro.
 
Hoi Octafish, ik wil wel iets toevoegen aan mijn macro autoexec maar ik krijg het niet voor elkaar.
Ik heb in de macro een actie "ProcedureUitvoeren" met als functienaam "autoexec" opgenomen.

Ik heb een module gemaakt "Autoexec_mod" met daarin:
Code:
Public Function autoexec()
    FunctionApplication.RunCommand acCmdAppMaximize
End Function

Wat doe ik fout?
 
Laatst bewerkt door een moderator:
Plakken is een kunst ;)

Code:
Public Function Opstarten()
    Application.RunCommand acCmdAppMaximize
End Function
Overigens weet ik niet of het handig is om de functie AutoExec te noemen; de macro heet immers ook al zo. Ik heb 'm zo in gebruik, en dat werkt prima.
 
Inderdaad een plak foutje, maar nu werkt het nog niet.
Ik heb dus nu een functie "Opstarten" in de module "opstarten"

De macro is:
Voorwaarde = Waar
Actienaam = ProcedureUitvoeren
Argumenten = Opstarten()


De functie ziet er als volgt uit:
Code:
Public Function Opstarten()
    Application.RunCommand acCmdAppMaximize
End Function

Als ik nu de macro uitvoer krijg ik de melding: De expressie die u hebt opgegeven, bevat een functienaam die <prognaam> niet kan vinden

Wat doe ik nu nog fout dan?
 
Laatst bewerkt door een moderator:
Ik heb ook een macrootje gemaakt met de naam AutoExec, maar geen voorwaarde gebruikt;
Actie=ProcedureUitvoeren
FunctieNaam=Opstarten()
Bij mij werkt dat prima.
 
Het werkt :), ik had een foutje in de module.
Ik heb de functie in een bestaande module geplaatst en nu werkt het.

Echter als ik het programma nu opstart, dan wordt er een opstartscherm getoond.
Echter als ik het programma start, terwijl het zonder AutoExec niet maximaal zou starten, dan wordt het opstartscherm niet netjes in het midden geplaatst terwijl die dit normaal wel doet als het toch al maximaal zou starten.


Heb je een idee hoe ik dit nog zou kunnen oplossen?
 
Eerlijk gezegd snap ik niet helemaal wat je bedoelt.... Je hebt een Opstartformulier, dat zonder de autoexec macro wel in het midden staat, en met de macro niet?
 
Ik zal het nog een keer proberen uit te leggen.

Zonder de autoexec macro wordt niet altijd het programma maximaal getoond.
Als het programma niet maximaal wordt getoond (dus zonder autoexec) en ik maak daarna het programma wel maximaal, door maximize knop van het scherm, dan wordt mijn opstartscherm "frmBeginScherm" niet netjes midden op het scherm gezet, maar links bovenin.

Als het progamma wel maximaal wordt getoond (zonder autoexec) dan wordt het opstartscherm wel netjes in het midden neergzet.

Met de autoexec blijft de plaatsing van het opstartscherm gelijk aan de 2 opties zoals hierboven beschreven.

Ik hoop dat dit eea. verduidelijkt
 
Heb je maar acties in de AutoExec macro staan? En staat bij de eigenschappen van het formulier <Autocentreren> op Ja, en <Verplaatsbaar> op Ja?
 
Ik heb geen acties in de macro staan anders dan het opstarten van de functie Opstarten.

Ik heb op het formulier, autocentreren op Ja staan. Verplaatsbaar kan ik niet vinden als eigenschap van het formulier.
 
Is (in A2003 althans) de onderste optie in het tabblad <Opmaak>. Je kunt het commando ook opnemen in de Load procedure van het formulier:
Code:
Private Sub Form_Load()
    Me.Form.Moveable = True
End Sub
 
Ik maak nog gebruik van access 2000, jaja ik weet het ik moet ook eens over naar een nieuwere versie:)
Maar die kent dus die optie niet.
 
Geeft hij een foutmelding op de code? Dan zal 2000 de optie inderdaad niet kennen. Geeft denk ik op zich niks, want dat zou dan kunnen betekenen dat je een formulier niet op een vaste plek kunt vastzetten. Oftwel: in 2000 is de instelling dat je een formulier altijd kunt verplaatsen, als ik mij goed herinner. In nieuwere versies kun je dat dus uitzetten. (en je komt het nog tegen ook....) Overigens vind ik 2K een prima versie; ik zou 'm niet wegdoen!
 
Nee ik krijg geen foutmelding ofzo, er veranderd gewoon niets.
In het het VB scherm krijg je ook de optie niet te zien als je ctlr-spatiebalk doet, vandaar dat ik denk dat de optie niet bestaat in 2000.

Wat ik nog wel heb is dat als ik het programma opstart, dan wordt er eerst een initialisatie form gestart welke alleen wat initialisaties doet, zoals database controle enz... en deze start dan het beginscherm op.

Zou ik misschien iets kunnen doen met het init scherm?
 
Je zou eens moeten controleren in welke volgorde de verschillende acties worden uitgevoerd, want dat weet ik zo uit mijn hoofd ook niet. Ik vermoed, dat het formulier dat je bij Opstarten als standaardformulier hebt gedefinieerd als laatste handeling wordt uitgevoerd, maar zeker weten doe ik dat niet. In dat geval zou de AutoExec macro eerst worden uitgevoerd.
Herstel: net uitgeprobeerd: eerst het formulier, en dan de Autoexec macro.... Je zou de code dus ook op het formulier kunnen zetten.
 
Ik heb echt alles geprobeerd maar ik krijg het niet voor elkaar om het opstart scherm altijd als vol scherm te openen.
 
Ik gebruik nu deze routine bij het opstarten van het standaardformulier:
Code:
Private Sub Form_Load()
    Opstarten
    DoCmd.Maximize
End Sub
Welke procedure volg je nu?
 
Ik heb het volgende:
Bij het opstarten van access wordt er eerst een initscherm geladen, dit om wat standaard dingen te checken.
Hierna wordt het beginscherm geladen.

Bij het laden van het beginscherm heb ik staan:
Code:
Private Sub Form_Load()
    Application.RunCommand acCmdAppMaximize
    'DoCmd.Maximize
End Sub

Ik heb maximize uitgezet aangezien anders het scherm wel groot getoond wordt maar nog steeds niet gecentreerd.

Als ik access nu opstart dan openend het beginscherm helemaal links op het scherm.
Het wordt dus verticaal wel bijna (niet helemaal scherm staat iets meer naar boven) gecentreerd maar horizontaal niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan