【学校收费管理系统】(VBA版)-Access数据库系统设计制作实例 代码分享


系统登录
控件:文本框,按钮

Private Sub Command登录_Click()
If IsNull(Me.用户名) = True Or Me.用户名.Value = "" Then
MsgBox "请输入用户名!"
Exit Sub
End If
If IsNull(Me.密码) = True Or Me.密码.Value = "" Then
MsgBox "请输入密码!"
Exit Sub
End If
If Me.用户名 = "admin" And Me.密码 = "123" Then
MsgBox "登录成功"
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "系统导航", acNormal
Else
MsgBox "用户名或密码错误"
Exit Sub
End If
End Sub
Private Sub Command退出_Click()
Application.Quit acQuitSaveAll
End Sub
系统导航
控件:按钮

Private Sub Command基础数据管理_Click()
DoCmd.OpenForm "基础数据管理", acNormal
End Sub
Private Sub Command教材费管理_Click()
DoCmd.OpenForm "教材费查询添加", acNormal
End Sub
Private Sub Command考试费管理_Click()
DoCmd.OpenForm "考试费查询添加", acNormal
End Sub
Private Sub Command其他费管理_Click()
DoCmd.OpenForm "其他费查询添加", acNormal
End Sub
Private Sub Command退出系统_Click()
If MsgBox("是否退出该系统?", vbYesNo) = vbYes Then
Application.Quit acQuitSaveAll
End If
End Sub
Private Sub Command学费管理_Click()
DoCmd.OpenForm "学费查询添加", acNormal
End Sub
Private Sub Command学生管理_Click()
DoCmd.OpenForm "学生查询添加", acNormal
End Sub
Private Sub Command住宿费管理_Click()
DoCmd.OpenForm "住宿费查询添加", acNormal
End Sub
基础数据管理
控件:子窗体

教材费查询数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub 教材费ID_DblClick(Cancel As Integer)
DoCmd.OpenForm "教材费更新删除", acNormal, , "教材费ID=" & Me.教材费ID
End Sub
教材费查询添加

Option Compare Database
Private Sub Command查询_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
Me.数据表子窗体.Form.Filter = Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Me.数据表子窗体.Form.FilterOn = True
Else
Me.数据表子窗体.Form.FilterOn = False
End If
End Sub
Private Sub Command清空_Click()
教材名称.Value = ""
学号.Value = ""
教材费.Value = ""
已收金额.Value = ""
交费日期.Value = ""
备注.Value = ""
End Sub
Private Sub Command全部_Click()
Me.数据表子窗体.Form.FilterOn = False
End Sub
Private Sub Command生成报表_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
DoCmd.OpenReport "教材费报表", acViewReport, , Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Else
DoCmd.OpenReport "教材费报表", acViewReport
End If
End Sub
Private Sub Command添加_Click()
If 教材名称.Value <> "" And 学号.Value <> "" And 教材费.Value <> "" And 已收金额.Value <> "" Then
DoCmd.SetWarnings (False)
DoCmd.OpenQuery "教材费添加查询", acViewNormal
MsgBox "添加完成"
Me.数据表子窗体.Requery
Else
MsgBox "教材名称,学号,教材费,已收金额不能为空"
Exit Sub
End If
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
Private Sub 教材名称_AfterUpdate()
If Me.教材名称.Value <> "" Then
Me.教材费.Value = Nz(DLookup("教材费", "教材表", "教材名称='" & Me.教材名称.Value & "'"), "")
Else
Me.教材费.Value = ""
End If
End Sub
Private Sub 教材名称_Change()
If Me.教材名称.Value <> "" Then
Me.教材费.Value = Nz(DLookup("教材费", "教材表", "教材名称='" & Me.教材名称.Value & "'"), "")
Else
Me.教材费.Value = ""
End If
End Sub
教材费更新删除

Private Sub Form_BeforeUpdate(Cancel As Integer)
If 教材名称.Value <> "" And 学号.Value <> "" And 教材费.Value <> "" And 已收金额.Value <> "" Then
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
Else
MsgBox "教材名称,学号,教材费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub Form_Close()
On Error Resume Next
Forms("教材费查询添加").Form.数据表子窗体.Requery
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
Private Sub 教材名称_AfterUpdate()
If Me.教材名称.Value <> "" Then
Me.教材费.Value = Nz(DLookup("教材费", "教材表", "教材名称='" & Me.教材名称.Value & "'"), "")
Else
Me.教材费.Value = ""
End If
End Sub
Private Sub 教材名称_Change()
If Me.教材名称.Value <> "" Then
Me.教材费.Value = Nz(DLookup("教材费", "教材表", "教材名称='" & Me.教材名称.Value & "'"), "")
Else
Me.教材费.Value = ""
End If
End Sub
Private Sub Command更新_Click()
If 教材名称.Value <> "" And 学号.Value <> "" And 教材费.Value <> "" And 已收金额.Value <> "" Then
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
Else
MsgBox "教材名称,学号,教材费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
Private Sub Command删除_Click()
On Error Resume Next
DoCmd.SetWarnings (False)
If MsgBox("是否删除该记录", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
MsgBox "删除成功"
DoCmd.Close acForm, Me.Name
Else
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
教材数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
考试费查询数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub 考试费ID_DblClick(Cancel As Integer)
DoCmd.OpenForm "考试费更新删除", acNormal, , "考试费ID=" & Me.考试费ID
End Sub
考试费查询添加

Private Sub Command清空_Click()
考试名称.Value = ""
学号.Value = ""
考试费.Value = ""
已收金额.Value = ""
交费日期.Value = ""
备注.Value = ""
End Sub
Private Sub Command全部_Click()
Me.数据表子窗体.Form.FilterOn = False
End Sub
Private Sub Command生成报表_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
DoCmd.OpenReport "考试费报表", acViewReport, , Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Else
DoCmd.OpenReport "考试费报表", acViewReport
End If
End Sub
Private Sub Command查询_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
Me.数据表子窗体.Form.Filter = Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Me.数据表子窗体.Form.FilterOn = True
Else
Me.数据表子窗体.Form.FilterOn = False
End If
End Sub
Private Sub Command添加_Click()
If 考试名称.Value <> "" And 学号.Value <> "" And 考试费.Value <> "" And 已收金额.Value <> "" Then
DoCmd.SetWarnings (False)
DoCmd.OpenQuery "考试费添加查询", acViewNormal
MsgBox "添加完成"
Me.数据表子窗体.Requery
Else
MsgBox "考试名称,学号,考试费,已收金额不能为空"
Exit Sub
End If
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
Private Sub 考试名称_AfterUpdate()
If Me.考试名称.Value <> "" Then
Me.考试费.Value = Nz(DLookup("考试费", "考试表", "考试名称='" & Me.考试名称.Value & "'"), "")
Else
Me.考试费.Value = ""
End If
End Sub
Private Sub 考试名称_Change()
If Me.考试名称.Value <> "" Then
Me.考试费.Value = Nz(DLookup("考试费", "考试表", "考试名称='" & Me.考试名称.Value & "'"), "")
Else
Me.考试费.Value = ""
End If
End Sub
考试费更新删除

Private Sub Form_BeforeUpdate(Cancel As Integer)
If 考试名称.Value <> "" And 学号.Value <> "" And 考试费.Value <> "" And 已收金额.Value <> "" Then
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
Else
MsgBox "考试名称,学号,考试费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub Form_Close()
On Error Resume Next
Forms("考试费查询添加").Form.数据表子窗体.Requery
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
Private Sub 考试名称_AfterUpdate()
If Me.考试名称.Value <> "" Then
Me.考试费.Value = Nz(DLookup("考试费", "考试表", "考试名称='" & Me.考试名称.Value & "'"), "")
Else
Me.考试费.Value = ""
End If
End Sub
Private Sub 考试名称_Change()
If Me.考试名称.Value <> "" Then
Me.考试费.Value = Nz(DLookup("考试费", "考试表", "考试名称='" & Me.考试名称.Value & "'"), "")
Else
Me.考试费.Value = ""
End If
End Sub
Private Sub Command更新_Click()
If 考试名称.Value <> "" And 学号.Value <> "" And 考试费.Value <> "" And 已收金额.Value <> "" Then
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
Else
MsgBox "考试名称,学号,考试费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
Private Sub Command删除_Click()
On Error Resume Next
DoCmd.SetWarnings (False)
If MsgBox("是否删除该记录", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
MsgBox "删除成功"
DoCmd.Close acForm, Me.Name
Else
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
考试数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
其他费查询数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub 其他费ID_DblClick(Cancel As Integer)
DoCmd.OpenForm "其他费更新删除", acNormal, , "其他费ID=" & Me.其他费ID
End Sub
其他费查询添加

Private Sub Command清空_Click()
费用名称.Value = ""
学号.Value = ""
其他费.Value = ""
已收金额.Value = ""
交费日期.Value = ""
备注.Value = ""
End Sub
Private Sub Command全部_Click()
Me.数据表子窗体.Form.FilterOn = False
End Sub
Private Sub Command生成报表_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
DoCmd.OpenReport "其他费报表", acViewReport, , Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Else
DoCmd.OpenReport "其他费报表", acViewReport
End If
End Sub
Private Sub Command查询_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
Me.数据表子窗体.Form.Filter = Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Me.数据表子窗体.Form.FilterOn = True
Else
Me.数据表子窗体.Form.FilterOn = False
End If
End Sub
Private Sub Command添加_Click()
If 费用名称.Value <> "" And 学号.Value <> "" And 其他费.Value <> "" And 已收金额.Value <> "" Then
DoCmd.SetWarnings (False)
DoCmd.OpenQuery "其他费添加查询", acViewNormal
MsgBox "添加完成"
Me.数据表子窗体.Requery
Else
MsgBox "费用名称,学号,其他费,已收金额不能为空"
Exit Sub
End If
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
其他费更新删除

Private Sub Form_BeforeUpdate(Cancel As Integer)
If 费用名称.Value <> "" And 学号.Value <> "" And 其他费.Value <> "" And 已收金额.Value <> "" Then
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
Else
MsgBox "费用名称,学号,其他费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub Form_Close()
On Error Resume Next
Forms("其他费查询添加").Form.数据表子窗体.Requery
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
Private Sub Command更新_Click()
If 费用名称.Value <> "" And 学号.Value <> "" And 其他费.Value <> "" And 已收金额.Value <> "" Then
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
Else
MsgBox "费用名称,学号,其他费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
Private Sub Command删除_Click()
On Error Resume Next
DoCmd.SetWarnings (False)
If MsgBox("是否删除该记录", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
MsgBox "删除成功"
DoCmd.Close acForm, Me.Name
Else
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
宿舍数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
学费查询数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub 学费ID_DblClick(Cancel As Integer)
DoCmd.OpenForm "学费更新删除", acNormal, , "学费ID=" & Me.学费ID
End Sub
学费查询添加

Private Sub Command清空_Click()
学期.Value = ""
学号.Value = ""
学费.Value = ""
已收金额.Value = ""
交费日期.Value = ""
备注.Value = ""
End Sub
Private Sub Command全部_Click()
Me.数据表子窗体.Form.FilterOn = False
End Sub
Private Sub Command生成报表_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
DoCmd.OpenReport "学费报表", acViewReport, , Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Else
DoCmd.OpenReport "学费报表", acViewReport
End If
End Sub
Private Sub Command查询_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
Me.数据表子窗体.Form.Filter = Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Me.数据表子窗体.Form.FilterOn = True
Else
Me.数据表子窗体.Form.FilterOn = False
End If
End Sub
Private Sub Command添加_Click()
If 学期.Value <> "" And 学号.Value <> "" And 学费.Value <> "" And 已收金额.Value <> "" Then
DoCmd.SetWarnings (False)
DoCmd.OpenQuery "学费添加查询", acViewNormal
MsgBox "添加完成"
Me.数据表子窗体.Requery
Else
MsgBox "学期,学号,学费,已收金额不能为空"
Exit Sub
End If
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
Private Sub 学期_AfterUpdate()
If Me.学期.Value <> "" Then
Me.学费.Value = Nz(DLookup("学费", "学期表", "学期='" & Me.学期.Value & "'"), "")
Else
Me.学费.Value = ""
End If
End Sub
Private Sub 学期_Change()
If Me.学期.Value <> "" Then
Me.学费.Value = Nz(DLookup("学费", "学期表", "学期='" & Me.学期.Value & "'"), "")
Else
Me.学费.Value = ""
End If
End Sub
学费更新删除

Private Sub Form_BeforeUpdate(Cancel As Integer)
If 学期.Value <> "" And 学号.Value <> "" And 学费.Value <> "" And 已收金额.Value <> "" Then
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
Else
MsgBox "学期,学号,学费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub Form_Close()
On Error Resume Next
Forms("学费查询添加").Form.数据表子窗体.Requery
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
Private Sub 学期_AfterUpdate()
If Me.学期.Value <> "" Then
Me.学费.Value = Nz(DLookup("学费", "学期表", "学期='" & Me.学期.Value & "'"), "")
Else
Me.学费.Value = ""
End If
End Sub
Private Sub 学期_Change()
If Me.学期.Value <> "" Then
Me.学费.Value = Nz(DLookup("学费", "学期表", "学期='" & Me.学期.Value & "'"), "")
Else
Me.学费.Value = ""
End If
End Sub
Private Sub Command更新_Click()
If 学期.Value <> "" And 学号.Value <> "" And 学费.Value <> "" And 已收金额.Value <> "" Then
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
Else
MsgBox "学期,学号,学费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
Private Sub Command删除_Click()
On Error Resume Next
DoCmd.SetWarnings (False)
If MsgBox("是否删除该记录", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
MsgBox "删除成功"
DoCmd.Close acForm, Me.Name
Else
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
学期数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
学生查询添加

Private Sub Command清空_Click()
学号.Value = ""
姓名.Value = ""
性别.Value = ""
班级.Value = ""
联系方式.Value = ""
End Sub
Private Sub Command全部_Click()
Me.数据表子窗体.Form.FilterOn = False
End Sub
Private Sub Command查询_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
Me.数据表子窗体.Form.Filter = Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Me.数据表子窗体.Form.FilterOn = True
Else
Me.数据表子窗体.Form.FilterOn = False
End If
End Sub
Private Sub Command生成报表_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
DoCmd.OpenReport "学生信息标签", acViewReport, , Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Else
DoCmd.OpenReport "学生信息标签", acViewReport
End If
End Sub
Private Sub Command添加_Click()
If Me.学号 = "" Then
MsgBox "学号不能为空"
Exit Sub
End If
If Nz(DCount("学号", "学生信息表", "学号='" & Me.学号 & "'"), 0) > 0 Then
MsgBox "学号已存在,不能重复"
Exit Sub
End If
DoCmd.SetWarnings (False)
DoCmd.OpenQuery "学生信息添加查询", acViewNormal
MsgBox "添加完成"
Me.数据表子窗体.Requery
End Sub
学生更新删除

Private Sub Command更新_Click()
If 学号.Value <> "" Then
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
Forms("学生查询添加").数据表子窗体.Form.Requery
Else
MsgBox "学号不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
Private Sub Command删除_Click()
On Error Resume Next
DoCmd.SetWarnings (False)
If MsgBox("是否删除该记录", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
MsgBox "删除成功"
DoCmd.Close acForm, Me.Name
Forms("学生查询添加").数据表子窗体.Form.Requery
Else
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
If 学号.Value <> "" Then
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
Else
MsgBox "学号不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub Form_Close()
On Error Resume Next
Forms("学生查询添加").Form.数据表子窗体.Requery
End Sub
Private Sub Command更新_Click()
If 学号.Value <> "" Then
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
Else
MsgBox "学号不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
Private Sub Command删除_Click()
On Error Resume Next
DoCmd.SetWarnings (False)
If MsgBox("是否删除该记录", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
MsgBox "删除成功"
DoCmd.Close acForm, Me.Name
Else
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
学生信息查询数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
住宿费查询数据表(数据表形式窗体)

Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub 住宿费ID_DblClick(Cancel As Integer)
DoCmd.OpenForm "住宿费更新删除", acNormal, , "住宿费ID=" & Me.住宿费ID
End Sub
住宿费查询添加

Private Sub Command查询_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
Me.数据表子窗体.Form.Filter = Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Me.数据表子窗体.Form.FilterOn = True
Else
Me.数据表子窗体.Form.FilterOn = False
End If
End Sub
Private Sub Command清空_Click()
宿舍名称.Value = ""
住宿时间.Value = ""
学号.Value = ""
住宿费.Value = ""
已收金额.Value = ""
交费日期.Value = ""
备注.Value = ""
End Sub
Private Sub Command全部_Click()
Me.数据表子窗体.Form.FilterOn = False
End Sub
Private Sub Command生成报表_Click()
If Me.查询类型 <> "" And Me.查询内容 <> "" Then
DoCmd.OpenReport "住宿费报表", acViewReport, , Me.查询类型 & " like '*" & Me.查询内容 & "*'"
Else
DoCmd.OpenReport "住宿费报表", acViewReport
End If
End Sub
Private Sub Command添加_Click()
If 宿舍名称.Value <> "" And 学号.Value <> "" And 住宿费.Value <> "" And 已收金额.Value <> "" And 住宿时间.Value <> "" Then
DoCmd.SetWarnings (False)
DoCmd.OpenQuery "住宿费添加查询", acViewNormal
MsgBox "添加完成"
Me.数据表子窗体.Requery
Else
MsgBox "宿舍名称,住宿时间,学号,住宿费,已收金额不能为空"
Exit Sub
End If
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
Private Sub 宿舍名称_AfterUpdate()
If Me.宿舍名称.Value <> "" Then
Me.住宿费.Value = Nz(DLookup("住宿费", "宿舍表", "宿舍名称='" & Me.宿舍名称.Value & "'"), "")
Else
Me.住宿费.Value = ""
End If
End Sub
Private Sub 宿舍名称_Change()
If Me.宿舍名称.Value <> "" Then
Me.住宿费.Value = Nz(DLookup("住宿费", "宿舍表", "宿舍名称='" & Me.宿舍名称.Value & "'"), "")
Else
Me.住宿费.Value = ""
End If
End Sub
住宿费更新删除

Private Sub Form_BeforeUpdate(Cancel As Integer)
If 宿舍名称.Value <> "" And 学号.Value <> "" And 住宿费.Value <> "" And 已收金额.Value <> "" And 住宿时间.Value <> "" Then
On Error GoTo 数据更新前提醒_Err
If (MsgBox("是否保存对记录的修改", 1, "修改记录提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
Else
MsgBox "宿舍名称,住宿时间,学号,住宿费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
数据更新前提醒_Exit:
Exit Sub
数据更新前提醒_Err:
MsgBox Error$
Resume 数据更新前提醒_Exit
End Sub
Private Sub Form_Close()
On Error Resume Next
Forms("住宿费查询添加").Form.数据表子窗体.Requery
End Sub
Private Sub 交费日期_DblClick(Cancel As Integer)
Me.交费日期.Value = Date
End Sub
Private Sub 宿舍名称_AfterUpdate()
If Me.宿舍名称.Value <> "" Then
Me.住宿费.Value = Nz(DLookup("住宿费", "宿舍表", "宿舍名称='" & Me.宿舍名称.Value & "'"), "")
Else
Me.住宿费.Value = ""
End If
End Sub
Private Sub 宿舍名称_Change()
If Me.宿舍名称.Value <> "" Then
Me.住宿费.Value = Nz(DLookup("住宿费", "宿舍表", "宿舍名称='" & Me.宿舍名称.Value & "'"), "")
Else
Me.住宿费.Value = ""
End If
End Sub
Private Sub Command更新_Click()
If 宿舍名称.Value <> "" And 学号.Value <> "" And 住宿费.Value <> "" And 已收金额.Value <> "" And 住宿时间.Value <> "" Then
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
Else
MsgBox "宿舍名称,住宿时间,学号,住宿费,已收金额不能为空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub
Private Sub Command删除_Click()
On Error Resume Next
DoCmd.SetWarnings (False)
If MsgBox("是否删除该记录", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
MsgBox "删除成功"
DoCmd.Close acForm, Me.Name
Else
Exit Sub
End If
If Error.Number <> 0 Then
MsgBox Error.Description
End If
End Sub