VBA – Prikaz statusnih poruka u Access-u

Videćemo kako da pomoću sledeće tri procedure prikažemo bilo kakvu poruku na Status bar-u (statusnoj liniji), koja se nalazi na dnu Access forme, i to kada mišem pređete iznad određene kontrole (dugmića, tekst polja, itd.). Poruka može da bude dugačka do 80 karaktera (zavisno od ekranske rezolucije) i predstavljaće najčešće opis neke kontrole. Potrebno je da sledeće dve procedure smestite u modul, tako da mogu da budu generalno dostupne:


Global StatusCalled
Global CurrentStatusMsg

Sub StatusBarMsg (StatusMsg)
If StatusMsg CurrentStatusMsg Then
‘ testira se da li je poruka vec prikazana
Dim ss As Variant
ss = SysCmd(SYSCMD_SETSTATUS, StatusMsg)
StatusCalled = True
CurrentStatusMsg = StatusMsg
End If
End Sub

Sub ClearStatusBarMsg ()
If StatusCalled Then
Dim ss As Variant
ss = SysCmd(SYSCMD_CLEARSTATUS)
StatusCalled = False
CurrentStatusMsg = “ “
End If
End Sub

Sledeći programski kod (naravno, sa drugačijim porukama) treba da bude „prikačen“ uz događaj „mouse move“ svake kontrole. Kada mišem pređete iznad određene kontrole, u statusnoj liniji će biti prikazana prikladna poruka.


Sub CmdButton_MouseMove (Button As Integer,
Shift As Integer, x As Single, Y As Single)
StatusBarMsg „Ova poruka ce biti
prikazana u Status bar-u!“
End Sub

Sledeći ćemo vezati sa „pozadinu“ kontrola, tj elemente: detail, header, footer itd. Na ovaj način će se poruka za određenu kontrolu biti uklonjena sa statusne linije (kada miš pređe van određene kontrole).


Sub Detail0_MouseMove (Button As Integer,
Shift As Integer, X As Single, Y As Single)
ClearStatusBarMsg
End Sub

Sledeći programski kod nije neophodan, vezan je događaj „on timer“ glavne forme Access aplikacije. Odredićemo da se poruka vezana za opis same aplikacije prikaže recimo 6,5 sekudni (6500). Na ovaj način korisnik ima dovoljno vremena da pročita poruku, a i dovoljno je kratko vreme da se izbegne eventualna konfuzija sa porukama,a kada određene kontrole dobiju fokus:


Sub Form_Timer ()
If StatusCalled Then
ClearStatusBarMsg
End If
End Sub

Pratite Krstaricu na www.krstarica.com