U formi hoću putem check box da zabranim promenu podataka (hoću da ih vidim ali da ih ne mogu promeniti kada je vrednost check box Yes)
promena podataka
Zaključano
Zakačeno
Ispitaj stanje check box-a i ako je Yes (recimo da znači "proknjiženo") Koristi:
Me.AllowEdits = False
Me![Polje na formi].Locked = True
Me.AllowEdits = False
Me![Polje na formi].Locked = True
Ne snalazim se se baš najbolje u kojoj opciji event forme treba da upišem kod tako da opcija Yes iz druge forme znači i zabranu promene podataka u prvoj. (U svakom slučaju hvala i na prvom odgovoru )
Nisam iz prvog posta razumeo da su dve različite forme u pitanju. Možda se pre radi o formi i podformi?
U svakom slučaju možeš koristiti događaj Before Update glavne forme ako je podforma ta druga. Moguće da će ti trebati referenciranje o čemu možeš da pročitaš ovde: http://www.elitesecurity.org/t221799-0#1601903
Me.[NazivPodforme].Locked = True
U svakom slučaju možeš koristiti događaj Before Update glavne forme ako je podforma ta druga. Moguće da će ti trebati referenciranje o čemu možeš da pročitaš ovde: http://www.elitesecurity.org/t221799-0#1601903
Me.[NazivPodforme].Locked = True
Recimo da se forme zovu Forma1 i Forma2 i da imaš checkbox u Formi2 koji se zove DozvoliIzmene
Za ovaj kod je potrebno da i Forma1 i Forma2 imaju modul, jer meni liči da imaš Formu i SubFormu. Kod u Formi2 bi izgledao ovako:
Private Sub DozvoliIzmene_Click()
Form_Forma1.AllowAdditions = DozvoliIzmene.Value
Form_Forma1.AllowEdits = DozvoliIzmene.Value
End Sub
Forme se mogu referencirati na više načina, ovo je jedan od njih, izabrao sam taj način jer on može da referencira form koji se nalazi kao subform u Formi2. Takođe postoji način :
Private Sub DozvoliIzmene_Click()
Application.Forms("Forma1").AllowAdditions = DozvoliIzmene.Value
Application.Forms("Forma1").AllowEdits = DozvoliIzmene.Value
End Sub
Ovaj način ne funkcioniše kada se Forma1 nalazi kao SubForm na Formi2, ali ako su oba forma samostalna funkcioniše. U slučaju da koristiš SubForm i da se kontrola u kojoj se Forma2 nalazi zove Child1 onda bi kod mogao izgledati i ovako :
Private Sub DozvoliIzmene_Click()
Child1.Form.AllowAdditions = DozvoliIzmene.Value
Child1.Form.AllowEdits = DozvoliIzmene.Value
End Sub
Eto, izaberi jedna od ova tri, prva opcija bi trebalo da ti reši problem. Ukoliko su obe forme samostalne možeš uneti sledeći red :
If CurrentProject.AllForms("Forma1").IsLoaded = False Then Exit Sub
Može se desiti da Forma1 nije učitana, tako da bi se u nastavku procedure pojavila greška ako bi probao da blokiraš edit na njoj. Biće da previše opširno pišem jer me uvek poneki kolega pretekne
Ne želim da neko pomisli da smatram njegov odgovor nekompletnim, samo dugo pišem odgovor jer radim više stvari istovremeno.
Za ovaj kod je potrebno da i Forma1 i Forma2 imaju modul, jer meni liči da imaš Formu i SubFormu. Kod u Formi2 bi izgledao ovako:
Private Sub DozvoliIzmene_Click()
Form_Forma1.AllowAdditions = DozvoliIzmene.Value
Form_Forma1.AllowEdits = DozvoliIzmene.Value
End Sub
Forme se mogu referencirati na više načina, ovo je jedan od njih, izabrao sam taj način jer on može da referencira form koji se nalazi kao subform u Formi2. Takođe postoji način :
Private Sub DozvoliIzmene_Click()
Application.Forms("Forma1").AllowAdditions = DozvoliIzmene.Value
Application.Forms("Forma1").AllowEdits = DozvoliIzmene.Value
End Sub
Ovaj način ne funkcioniše kada se Forma1 nalazi kao SubForm na Formi2, ali ako su oba forma samostalna funkcioniše. U slučaju da koristiš SubForm i da se kontrola u kojoj se Forma2 nalazi zove Child1 onda bi kod mogao izgledati i ovako :
Private Sub DozvoliIzmene_Click()
Child1.Form.AllowAdditions = DozvoliIzmene.Value
Child1.Form.AllowEdits = DozvoliIzmene.Value
End Sub
Eto, izaberi jedna od ova tri, prva opcija bi trebalo da ti reši problem. Ukoliko su obe forme samostalne možeš uneti sledeći red :
If CurrentProject.AllForms("Forma1").IsLoaded = False Then Exit Sub
Može se desiti da Forma1 nije učitana, tako da bi se u nastavku procedure pojavila greška ako bi probao da blokiraš edit na njoj. Biće da previše opširno pišem jer me uvek poneki kolega pretekne
Potpis
Ozbiljan i odgovoran mladić
Hvala na pomoći!!! probaću da primenim ovo što ste mi poslali.