VBA – Obaveštavanje korisnika o novom slogu

Za vašu Access aplikaciju koja ima određeni broj formi, koje služe i za unos novih podataka i za pregled postojećih, treba će vam i funkcija za proveru novog sloga. U stvari potreban je mehanizam za obaveštavanje korisnika, da kada prolazi kroz tabelu i dođe na kraj, pa klikne dugme „Next“, da se nalazi na polju za upis novog sloga – podatka. U verzijama Access-a 97/95, možete koristiti osobinu „NewRecord“ za detektovanje da li je tekući slog – zapis postojeći ili potpuno novi. Ako pogledate u Access-ov Help, prikazaće vam se sledeća opšta funkcija:


Sub NewRecordMark(frm As Form)
Dim intnewrec As Integer
intnewrec = frm.NewRecord
If intnewrec = True Then
MsgBox „Nalazite se na polju novog zapisa.“ _
& „Zelite li da dodate novi zapis?“ _
& „Ako ne, prebacite se na postojece zapise.“
End If
End Sub

A evo i nove funkcije koja će na drugi način proveriti isto (da li je tekući slog novi ili stari):


Function AtNewRecord(frm as Form)
Dim varTemp as Variant
On Error Resume Next
varTemp = frm.Bookmark
AtNewRecord = (Err 0)
On Error Goto 0
End Function

Tehnika u prethodnoj funkciji se oslanja na bookmark-e (obeleživače, koji nisu dovoljno pouzdani), tj. pokušaju postavljanja bookmark-a na novi zapis. Ovu funkciju pozivamo iz koda vezanog za događaj forme „OnCurrent“. Ova funkcija je vezana prevashodno za Access verzije 2 (ako je neko uopšte koristi), jer u sebi nije imao osobinu NewRecord. Funkcija „AtNewRecord“ se ne može uzeti kao 100% sigurna, zbog problema sa postavljanjem bookmark-a (obeleživača).

Pratite Krstaricu na www.krstarica.com