错误处理
pegdw 2003-07-17 11:01:17 有一个text框、MSFlexGrid控件、CommandButton按钮。
在text输入查询年月,按BUTTON,如果条件有错则报错,上一次查询结果清除。
源代码如下:
Private Sub Command1_Click(Index As Integer)
'应收统计
Select Case Index
Case 0
' On Error GoTo MyErr
tempQuery = ""
Close
Open App.path & "\应收.ini" For Input As #1
Do While Not EOF(1) ' Loop until end of file.
Line Input #1, sReadline ' Read line into variable.
tempQuery = tempQuery & sReadline & ","
Loop
Close #1
SQL = "SELECT 合同信息.客户名称, 合同单元信息.单元名称, 收费项目表.项目名称, 收费通知单清单信息.本月应收" & _
" FROM ((合同信息 INNER JOIN 合同单元信息 ON 合同信息.ID = 合同单元信息.合同ID) INNER JOIN 收费通知单信息 ON" & _
" 合同单元信息.ID = 收费通知单信息.合同单元ID) INNER JOIN (收费项目表 INNER JOIN 收费通知单清单信息" & _
" ON 收费项目表.ID = 收费通知单清单信息.收费项目ID) ON 收费通知单信息.ID = 收费通知单清单信息.收费通知ID" & _
" where 收费通知单信息.单据年月='" & txtDate.Text & "' and 收费通知单清单信息.收费项目ID in (" & tempQuery
SQL = Left(SQL, Len(SQL) - 1) & ") order by 合同信息.客户名称"
Set RS明细对帐单 = DB.OpenRecordset(SQL)
DisplayList 1
tempQuery = ""
Close
'应付统计
Open App.path & "\应付.ini" For Input As #1
Do While Not EOF(1) ' Loop until end of file.
Line Input #1, sReadline ' Read line into variable.
tempQuery = tempQuery & sReadline & ","
Loop
Close #1
SQL = "SELECT 合同信息.客户名称, 合同单元信息.单元名称, 收费项目表.项目名称, 收费通知单清单信息.本月应收" & _
" FROM ((合同信息 INNER JOIN 合同单元信息 ON 合同信息.ID = 合同单元信息.合同ID) INNER JOIN 收费通知单信息 ON" & _
" 合同单元信息.ID = 收费通知单信息.合同单元ID) INNER JOIN (收费项目表 INNER JOIN 收费通知单清单信息" & _
" ON 收费项目表.ID = 收费通知单清单信息.收费项目ID) ON 收费通知单信息.ID = 收费通知单清单信息.收费通知ID" & _
" where 收费通知单信息.单据年月='" & txtDate.Text & "' and 收费通知单清单信息.收费项目ID in (" & tempQuery
SQL = Left(SQL, Len(SQL) - 1) & ") order by 合同信息.客户名称"
Set RS明细对帐单 = DB.OpenRecordset(SQL)
DisplayList 2
'MyErr:
' 'MsgBox Err.Number & Err.Description
' If Err.Number = 3075 Then
' Beep
' MsgBox "请选择收费项目! " vbOKOnly + vbCritical, "错误"
' ElseIf RS明细对帐单.RecordCount < 0 Then
' MsgBox "您输入的年月有误!", vbOKOnly+vbCritical, "错误"
' End If
Case 1
frm收费项目设置.Show 1
Case 2
frm收付汇总报表.Show 1
Case 3
Unload Me
End Select
End Sub