08. oktober 2003 - 17:55Der er
17 kommentarer og 1 løsning
Luk automatisk en for mular der er åben
Hvordan / Hvilken kode skal man bruge for at man kan lukker en formular der er åben, når man åbner en anden formular, uden at skulle angive den formular der er åben.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hmm jeg kan ikke engang selv få den ovenstående til at virke (den starter før formularen er åben også kan den ikke finde Screen.Activeform). Alternativt kan funktionen kaldes med navnet på den aktuelle formular (dvs. der der ikke skal lukkes):
Function CloseAllFormsExceptCurrent(sExcludeForm As String) Dim frm As Form
For Each frm In Forms If frm.Name <> sExcludeForm Then DoCmd.Close acForm, frm.Name Next frm
Nåh ja, der står da lidt i bunden, der minder lidt om mit forslag. Jeg tillod mig blot at gå et skridt længere, og foreslå hvordan det kan implementeres.
So the answer is to either continue to remove the first item in the collection until there are no items left or start at the top end of the collection and shave them off at the top until you've gone through all of them. So either
do while forms.count>0 docmd.close acform,forms(0).name loop or
dim intx as integer dim intCount as integer intCount = Forms.count-1 for intX= intCount to 0 step -1 docmd.close acform,forms(intX).name next There is a difference between the two, with the second method you can conditionally leave forms open, you can't with the first version, so you can do something like this in the loop
for intX= intCount to 0 step -1 if forms(intX).Name <> "MyFormToKeepOpen" then docmd.close acform,forms(intX).name end if next
Terry Oops! Jeg læste ikke så langt. Jeg så kun "will produce the same result as" og så læste jeg ikke længere - der er for mange ord :o)
Har testet det, og det er (selvfølgelig) korrekt, at ikke alle åbne formularer lukkes.
Jeg har vist prøvet noget lignende for mange år siden, da jeg lavede et program, der fjernede alle sammenkædede tabeller. Så efter mange år fik jeg en forklaring på problemet. Utroligt men sandt!
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.