Professional Documents
Culture Documents
Da Li Postoji Već Isti Broj Računa PDF
Da Li Postoji Već Isti Broj Računa PDF
I zanima me kako da kod pregleda rachuna, postavim neki C heckBox koji cje po defaultu biti
na False vrednosti, i on da omogucjava da sva polja u formi budu zakljuchana, sve dok se
njegova vrednost ne postavi na True?
Konkretno, ako korisnik zeli da pregleda koji je rachun izdao, unsese broj rachuna, program
mu otvori formu sa isfiltriranim zapisom, i da mu onemogucji da nista promeni na vecj
izdatom rachunu dok ne otkachi check box i izbaci mu program jedno upozorenje da od
momenta kada je ukljuchio C heckBox, zapis moze da se edituje. I ponovo kada se zapis
zakljucha (vrednost check box-a se postavi na False) da se sva polja ponovo zakljuchaju...
Hvala
Pozdrav
pdfcrowd.com
Code:
Private Sub Form_BeforeUpdate(C ancel As Integer)
Dim Nova_sifra As Long
If IsNull([BrojRacuna]) Or [BrojRacuna] = 0 Then
MsgBox "Morate uneti broj racuna", vbC ritical, "Paznja"
Me![BrojRacuna].SetFocus
Exit Sub
End If
Nova_sifra = Me![BrojRacuna]
If IsNull(DLookup("[BrojRacuna]", "Tabela", "[BrojRacuna]=" & Nova_sifra)) = False Then
Me![BrojRacuna].Undo ' Ponistava vrednost unetog polja
DoC md.RunC ommand acC mdUndo ' ponistava unos sloga
C ancel = True
MsgBox "Pod brojem " & Nova_sifra & " imate unete podatke", vbC ritical, "Paznja"
Me![BrojRacuna].SetFocus
End If
End Sub
2. Recimo ovako:
Code:
Private Sub C heck5_AfterUpdate()
If Me![C heck5] = False Then
Me.AllowEdits = False
Me![text1].Locked = True
Else
Me.AllowEdits = True
Me![text1].Locked = False
End If
End Sub
Postavi C heck box da bude prvi na formi pre ostalih kontrola sa Tab Order. Ovo nisam isprobavao sa nevezanom kontrolom na formi. Ako ne ide okai
primer. Mislim da bi kontrolisanje dostupnosti polja na formi trebalo da bude van nje same. Najbolje je dodati polje u tabeli koje e da se ispituje.
pdfcrowd.com
Ovo sam morao da postavim na OnExit jer na Event Before Update nece da radi.
Code:
Private Sub IzdavanjeBr_Exit(C ancel As Integer)
If IsNull([RacunBr]) Or [RacunBr] = 0 Then
MsgBox "Morate uneti broj racuna!", vbC ritical, "Paznja"
Me.RacunBr.SetFocus
Exit Sub
End If
End Sub
pdfcrowd.com
Me![PoDokumentu].Locked = True
Me![Datum].Locked = True
Me![RacunBr].Locked = True
Me![Dobavljac].Locked = True
End Sub
Code:
End If
End Sub
Dakle, kada se uchita forma sa isfiltriranim zapisom(ima), sve je zakljuchano i ne moze nista da se menja. Klikom na C heckBox5, otkljuchavaju se sva
polja i editovanje se dozvoljava i zapis moze da se sachuva pomocju dugmeta na formi SAC HUVAJ (
Code:
DoC md.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
). Medjutim, ako ponovo zakljucham dugme, tj. onemogucjim editovanje polja i kliknem na dugme SAC HUVAJ, izbacuje neku greshku, kao i to shto vishe
ne mogu da menjam vrednost dugmeta C heckBox5...
pdfcrowd.com
Mozda mora da se presrecje negde greshka, ali ne vidim razlog svemu tome??
Neka ideja?
pdfcrowd.com
Code:
pdfcrowd.com
End If
'Vratimo se gde smo bili
Screen.PreviousC ontrol.SetFocus
End Sub
Prvo, napravi OnC urrent kao sto je u primeru. Na ovaj nacin, svak postojeci rekord je zakljucan, a novi rejkordi su otkljucani.
Onda na dugme stavis kod kao sto je prikazano. Dugme samo menja status Allowedits u suprotnu vrednost.
Onda procitamo koja je to vrednost AllowEdits i saglasno tome podesimo natpis na dugmetu.
U slucaju da je rekord jos u editovanju i pritisnemo dugme Lock/Unlock, promena stanja ce vaziti tek kad sacuvamo rekord. Zato cuvanje obezbedimo
kroz ono If me.dirty....
Primeti da je ceo kod geneicki - ne pominje se niti ime forme, niti ime bilo koje kontrole na formi. Znaci, ovo bi trebalo da radi na svakoj formi.
Nadam se da nisam zaboravio da okacim primer.
:-)
open in
pdfcrowd.com
Me![Dobavljac].Locked = True
Me![PoDokumentu].Locked = True
End Sub
i na kraju
Code:
Private Sub C heckBox_AfterUpdate()
If Me![C heckBox] = False Then
Me![Datum].Locked = True
Me![RacunBr].Locked = True
Me![Dobavljac].Locked = True
Me![PoDokumentu].Locked = True
Else
Me![Datum].Locked = False
Me![RacunBr].Locked = False
Me![Dobavljac].Locked = False
Me![PoDokumentu].Locked = False
End If
End Sub
Ovo sada radi posao... Kada je C heckBox otkachen dozvoljava editovanje napomenutih polja, a kada je iskljuchen NE dozvoljava, tj. zakljuchava ih.
Ovo sam pravio chisto preventive radi...Klijent nije zatrazio tu mogucnost, ali da sluchajno ne bi izmenio neki zapis dok ne potvrdi C heckBoxom da to
zaista zeli...
pdfcrowd.com
pdfcrowd.com