Dalam tulisan sebelumnya, penulis sudah membahas tentang cara untuk mencegah pencetakan atau preview report jika reportnya tidak memiliki data (istilah bahasa inggrisnya Trap Error).
kali ini, penulis akan bahas cara penanganan error yang terjadi ketika macro tersebut berjalan, yang biasanya berupa tambahan MsgBox setelah MsgBox Macro dijalankan, lalu Access juga akan menampilkan Message "The OpenReport action was canceled." seperti dibawah ini :
Berikut adalah cara agar Pesan diatas tidak ditampilkan.
Sebelumnya jika anda membuat Command Button menggunakan Wizard, lalu memilih Print Report, maka Code dari Command button anda akan seperti dibawah ini :
Private Sub cmdPrintReport_Click()
On Error GoTo Err_cmdPrintReport_Click
Dim stDocName As String
stDocName = "rptBulanan"
DoCmd.OpenReport stDocName, acNormal
Exit_cmdPrintReport_Click:
Exit Sub
Err_cmdPrintReport_Click:
MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End Sub
Untuk menghentikan Access menampilkan pesan "The OpenReport action was canceled.", salah satu caranya adalah anda harus mengetahui nomor dari Error Code tersebut, yang dalam hal ini adalah 2501, lalu menambahkan sedikit code pada bagian Error Handler dari code aslinya, agar ketika error yang terjadi adalah error dengan nomor 2501, maka akan dilakukan hal yang kita inginkan. Misalnya kita ingin agar pesan "The OpenReport action was canceled." tidak tampil, maka kita bisa gunakan, Resume Next, atau Exit Sub, atau yang lainnya. contoh modifikasi codenya adalah sebagai berikut :
- Menggunakan Resume Next :......
Err_cmdPrintReport_Click:
If Err.Number = 2501 Then
Resume Next
Else
MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End If
End Sub
MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End If
End Sub
- Menggunakan Exit Sub :
......
Err_cmdPrintReport_Click:
If Err.Number = 2501 Then
Exit Sub
Else
MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End If
End Sub
Sehingga codenya akan menjadi seperti ini :MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End If
End Sub
- Menggunakan Resume Next :
Private Sub cmdPrintReport_Click()On Error GoTo Err_cmdPrintReport_Click
Dim stDocName As String
stDocName = "rptBulanan"
DoCmd.OpenReport stDocName, acNormal
Exit_cmdPrintReport_Click:
Exit Sub
Err_cmdPrintReport_Click:
If Err.Number = 2501 Then
Resume Next
Else
MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End If
End Sub
MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End If
End Sub
- Menggunakan Exit Sub :
Private Sub cmdPrintReport_Click()On Error GoTo Err_cmdPrintReport_Click
Dim stDocName As String
stDocName = "rptBulanan"
DoCmd.OpenReport stDocName, acNormal
Exit_cmdPrintReport_Click:
Exit Sub
Err_cmdPrintReport_Click:
If Err.Number = 2501 Then
Exit Sub
Else
MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End If
End Sub
Anda juga bisa menggunakan fungsi Select Case dari Err Number untuk menangani masalah error diatas atau error lainnya.MsgBox Err.Description
Resume Exit_cmdPrintReport_Click
End If
End Sub
Semoga Bermanfaat...


05.31
Gie Satria
Posted in: 
2 comments:
nice info.. oh yah dah aku follow blognya jangan lupa follback yah http://gado-gado-ajjah.blogspot.com/
ty, ok siap laksanakan :)
Posting Komentar
No Sara, Violence, Porn, And Spamming Allowed