[ boki026 @ 06.05.2008. 10:13 ] @
Kako referencirati formu koja je trenutno otvorena tj. ima fokus. Naime zelim da mi komandno dugme zatvori formu koja je trenutno otvorena bez obzira koja je to forma. |
[ boki026 @ 06.05.2008. 10:13 ] @
[ Coder81 @ 06.05.2008. 17:31 ] @
Postavi dugme na formu i na Properties - Event - OnClick, napises
DoCmd.Close Ako hoces da zatvoris ceo program napises DoCmd.Quit [ Getsbi @ 06.05.2008. 17:43 ] @
Citat: boki026: Kako referencirati formu koja je trenutno otvorena tj. ima fokus. Naime zelim da mi komandno dugme zatvori formu koja je trenutno otvorena bez obzira koja je to forma. Ako je komandno dugme u pitanju, onda se ono nalazi na tekućoj formi koja mora biti u fokusu inače kako da ga pokreneš. Ako imaš više formi i želiš da ih zatvaraš jednu za drugom (kao domine) a da ne zatvoriš ceo Access, onda ti treba For.......Each petlja koja će da ispita sve otvorene forme i zatvori ih. Recimo ovako nešto: Code: Public Sub Zatvori() Dim Forma As Form Dim Izvestaj As Report Dim Ime_Dok As String Ime_Dok = "" For Each Forma In Forms 'ispituje u otvorenim obrascima i puni Ime_Dok ' If Forma.Name <> "Help_Poruka" Then Ime_Dok = Forma.Name Ime_Dok = Forma.Name DoCmd.Close acForm, Ime_Dok Next For Each Izvestaj In Reports ' ispituje u otvorenim izvestajima i puni Ime_Dok ' If Izvestaj.Name <> "Help_poruka" Then Ime_Dok = Izvestaj.Name Ime_Dok = Izvestaj.Name DoCmd.Close acReport, Ime_Dok Next End Sub Nadam se da sam razumeo šta te muči. [ boki026 @ 06.05.2008. 18:05 ] @
Da, ideja je otpilike bila ta. Da postoji jedna forma, nazovimo je glavna, sa onoliko komandnih dugmadi koliko imam formi i da svako dugme zatvori trenutno otvorenu formu (ma koja ona bila) i otvori formu koja je pridruzena tom dugmetu. Naravno, glavna forma stalno treba da ostane otvorena.
[ Getsbi @ 06.05.2008. 18:10 ] @
E sad ovo što sam ti napisao je javna funkcija. Odakle god da je pokreneš zatvoriće sve forme i sve izveštaje pa i glavnu formu. Nisam isprobavao ali mislim da je tako. Problem će biti ako u petlji natrči na samu sebe. Prestaće sa zatvaranjem. Možda bi dobro bilo da se pokreće sa glavnog menija, a ne iz forme.
[ domaci_a_nas @ 06.05.2008. 18:56 ] @
Citat: DoCmd.Close acForm, Ime_Dok [ izonic @ 06.05.2008. 22:47 ] @
To sto ti je namjera da uradis cisto sumnjam da mozes sa forme normalno odraditi.
Kazes da zatvoris formu koja je u fokusu. Uvijek ce biti forma u fokusu ona na kojoj napravis komandni taster za zatvaranje jer kad kliknes na njega vec je fokus presao na tu formu. U meniju to mozes lagano uratiti na sledeci nacin. Napravis neki svoj meni bar postavis neki command i napises naprimjer zatvori ili slicno. Udjes na njegov properti (znaci na properti tastera na meni baru) U polje on action upises Zatvori U modul neki postavis ovu funkciju: Function Zatvori() Dim Frm As Form Set Frm = Screen.ActiveForm DoCmd.Close acForm, Frm.Name End Function Eto ovo ce da ti zatvara formu koja je trenutno u fokusu. [ Catch 22 @ 06.05.2008. 23:09 ] @
FORMS.ActiveForm.Close (?)
[ boki026 @ 07.05.2008. 19:41 ] @
Hvala svima na trudu. I ja sam pomislio na meni bar, ali to je moglo u access2003, ali ne znam kako to da se uradi u access2007. Mislim da postoji i jedna tema o tome ovde na forumu.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|