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