Sabtu, 26 Maret 2011

mc access

ka anda membuat program dengan Ms Access dan salah satu tugas dari bagian aplikasi membutuhkan waktu yang lama maka kita perlu memberikan informasi kepada pengguna bahwa aplikasi sedang berjalan sehingga pengguna tidak bingung apa yang terjadi dengan aplikasi. Ada tiga teknik yang dapat dilakukan yaitu: A. Menggunakan teknik hour glass yang mudah sekali dilakukan dengan VBA yaitu dengan menggunakan perintah docmd:docmd.hourglass true …. Process …. docmd.hourglass falseB. Menggunakan SysCmd. Untuk contohnya lihat How to: Use the Status Bar Progress Meter di help menu dari Ms Access 2007 anda.C. Menggunakan Progress Bar dengan menggunakan Form. Teknik inilah yang akan kami ulas karena kamipun menggunakannya untuk aplikasi kami BOCSoft eQuestion. Dalam contoh aplikasi ini kami mempunyai 3 objek yaitu : C1. Form BOCSoft Sample dan form fldgProgress C2. clsProgress. Form BOCSoft sample akan memanggil class clsProgress yang akan memanggil form flgProgress. Inilah kodingnya: C1. Form BOCSoft Sample Private Sub btnRun_Click() Dim mlngCount As Long Dim CProgress As clsProgress Set CProgress = New clsProgress CProgress.OpenProgress CProgress.MaxValue = 5000 For mlngCount = 1 To CProgress.MaxValue CProgress.SetProgressMeter mlngCount Next mlngCount CProgress.CloseProgress Set CProgress = Nothing End Sub C2. clsProgress Option Compare Text Option Explicit Private mlngMaxValue As Long Public Property Let MaxValue(value As Long) mlngMaxValue = value End Property Public Property Get MaxValue() As Long MaxValue = mlngMaxValue End Property Public Sub OpenProgress() DoCmd.OpenForm “fdlgProgress”, acNormal End Sub Public Sub CloseProgress() DoCmd.Close acForm, “fdlgProgress” End Sub Public Sub SetProgressMeter(lngPresentValue As Long, Optional strCaption As String) ‘Purpose : Const cstrProc As String = “SetProgressMeter” On Error GoTo Err_Trap If Not Forms(”fdlgProgress”).ctlProgress.Visible Then Forms(”fdlgProgress”).ctlProgress.Visible = True Forms(”fdlgProgress”).lblComplete.Visible = True End If Forms(”fdlgProgress”).ctlProgress.Max = Me.MaxValue If lngPresentValue > Forms(”fdlgProgress”).ctlProgress.Max Then lngPresentValue = Forms(”fdlgProgress”).ctlProgress.Max End If Forms(”fdlgProgress”).ctlProgress.value = lngPresentValue Forms(”fdlgProgress”).lblComplete.Caption = _ Format((Forms(”fdlgProgress”).ctlProgress.value / Forms(”fdlgProgress”).ctlProgress.Max) * 100, “##”) & ” % Complete” DoCmd.RepaintObject Forms(”fdlgProgress”).Caption = strCaption Err_Exit: On Error GoTo 0 Exit Sub Err_Trap: MsgBox “Error No. : ” & Err.Number & vbCrLf & “Error Descr : ” & Err.Description Resume Err_Exit

Tidak ada komentar:

Posting Komentar