我正在通過VBA生成查詢和報告。我可以選擇詢問用戶是否要將報告輸出爲快照。我首先問他們是否想快速拍攝。如果他們拒絕,沒有任何反應。如果他們回答是,他們會立即詢問他們想要保存的地方。處理Access中的輸出錯誤
一切工作很好,除非他們說是,然後在提示上單擊取消,它會引發一個運行時錯誤2501說報表操作被取消。這是代碼。
DoCmd.OpenReport "CONCERNS", acViewPreview, lstFee.Value & " DETAILS"
If MsgBox("Do you wish to create a snapshot of this report?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.OutputTo acReport, "CONCERNS", "SnapshotFormat(*.snp)", ""
End If
這也是我的過程結束,所以如果一個錯誤發生在這裏,因爲所有重要的東西已經發生了,我不很在意。我只知道某個地方的猴子會看到它會翻轉。有沒有辦法來處理這個錯誤?在錯誤恢復下一個不是一個選項,因爲這將使調試將來的噩夢。這聽起來像我正在尋找像Try/Catch這樣的東西,但我不認爲VBA支持。
不得不查看On Error GoTo 0的功能。太棒了!謝謝! – mandroid 2009-07-10 22:26:02
非常歡迎。我認爲使用本地化的錯誤處理技術比基於goto的跳轉更實用。在發生的地方處理你期望的錯誤,而不是跳到例程的結尾去做一些大的語句,然後跳回到其他地方繼續。這就是爲什麼VB被指責推銷意大利麪代碼的原因。 – Todd 2009-07-10 22:33:20