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.
Kako zatvoriti formu koja je trenutno aktivna
Zaključano
Zakačeno
Postavi dugme na formu i na Properties - Event - OnClick, napises
DoCmd.Close
Ako hoces da zatvoris ceo program napises
DoCmd.Quit
DoCmd.Close
Ako hoces da zatvoris ceo program napises
DoCmd.Quit
Potpis
Da li mislio da možeš ili da ne možeš, u svakom slučaju si u pravu.
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
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.
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.
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.
Citat:
DoCmd.Close acForm, Ime_Dok
Potpis
Ozbiljan i odgovoran mladić
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.
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.
Potpis
zxz
FORMS.ActiveForm.Close (?)
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.