學生考試管理系統(tǒng) Access數(shù)據(jù)庫管理系統(tǒng)設計制作課程實例
系統(tǒng)介紹
?本系統(tǒng)包含主要功能有:學生管理,考試管理,考場管理,考試安排,考試成績統(tǒng)計,生成報表。
?商品中包含簡要的設計報告(功能模塊圖,業(yè)務流程圖,UC矩陣,數(shù)據(jù)流圖,數(shù)據(jù)字典,E-R圖等)和制作截圖文檔。
?數(shù)據(jù)庫系統(tǒng)包含:表,查詢,窗體,報表,VBA代碼
?系統(tǒng)為單機使用的access數(shù)據(jù)庫系統(tǒng),可作為課程學習實例使用。
設計部分
功能模塊圖

業(yè)務流程圖

數(shù)據(jù)流圖

E-R圖

程序流程圖

關系模型
考試(考試名稱,科目,考試日期,考試時間)
考試安排(學號,考試,考場,座位,監(jiān)考員,成績,狀態(tài))
考場(考場名稱,考場座位,狀態(tài))
學生(學號,姓名,性別,班級)
監(jiān)考員(監(jiān)考員,監(jiān)考科目,聯(lián)系電話)
系統(tǒng)部分
表關系

窗體
考試安排
考場管理

考試管理

學生管理

考試統(tǒng)計

報表
考試安排報表

考試統(tǒng)計報表

代碼部分
系統(tǒng)主頁
Private Sub Command監(jiān)考管理_Click()
Me.顯示界面子窗體.SourceObject = "監(jiān)考員管理"
Me.顯示界面子窗體.SetFocus
End Sub
Private Sub Command考場管理_Click()
Me.顯示界面子窗體.SourceObject = "考場管理"
Me.顯示界面子窗體.SetFocus
End Sub
Private Sub Command考試安排_Click()
Me.顯示界面子窗體.SourceObject = "考試安排管理"
Me.顯示界面子窗體.SetFocus
End Sub
Private Sub Command考試管理_Click()
Me.顯示界面子窗體.SourceObject = "考試管理"
Me.顯示界面子窗體.SetFocus
End Sub
Private Sub Command考試統(tǒng)計_Click()
Me.顯示界面子窗體.SourceObject = "考試統(tǒng)計"
Me.顯示界面子窗體.SetFocus
End Sub
Private Sub Command退出系統(tǒng)_Click()
If MsgBox("是否退出系統(tǒng)", vbYesNo) <> vbYes Then
Exit Sub
End If
Application.Quit acQuitSaveAll
End Sub
Private Sub Command系統(tǒng)后臺_Click()
DoCmd.Close acForm, Me.Name
DoCmd.SelectObject acForm, , True
End Sub
Private Sub Command學生管理_Click()
Me.顯示界面子窗體.SourceObject = "學生管理"
Me.顯示界面子窗體.SetFocus
End Sub
監(jiān)考員管理
Private Sub Command查詢_Click()
On Error GoTo 結束查詢
If 查詢內容 <> "" And IsNull(查詢內容) = False And 查詢字段 <> "" And IsNull(查詢字段) = False Then
Me.數(shù)據(jù)表子窗體.Form.Filter = Me.查詢字段 & " like '*" & Me.查詢內容 & "*'"
Me.數(shù)據(jù)表子窗體.Form.FilterOn = True
Me.數(shù)據(jù)表子窗體.Requery
Else
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End If
Me.數(shù)據(jù)表子窗體.SetFocus
Exit Sub
結束查詢:
MsgBox Err.Description
End Sub
Private Sub Command清空_Click()
監(jiān)考員.Value = ""
監(jiān)考科目.Value = ""
聯(lián)系電話.Value = ""
End Sub
Private Sub Command全部_Click()
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End Sub
Private Sub Command添加_Click()
If 監(jiān)考員 = "" Or IsNull(監(jiān)考員) = True Then
MsgBox "監(jiān)考員值為空!"
Exit Sub
End If
If 監(jiān)考科目 = "" Or IsNull(監(jiān)考科目) = True Then
MsgBox "監(jiān)考科目值為空!"
Exit Sub
End If
If 聯(lián)系電話 = "" Or IsNull(聯(lián)系電話) = True Then
MsgBox "聯(lián)系電話值為空!"
Exit Sub
End If
If Nz(DCount("監(jiān)考員", "監(jiān)考員表", "監(jiān)考員='" & Me.監(jiān)考員 & "'"), 0) > 0 Then
MsgBox "該監(jiān)考員已存在!不能重復"
Exit Sub
End If
On Error Resume Next
DoCmd.SetWarnings (False)
Dim add_sql As String
add_sql = "Insert Into 監(jiān)考員表 (監(jiān)考員,監(jiān)考科目,聯(lián)系電話) Values ('" & 監(jiān)考員 & "','" & 監(jiān)考科目 & "','" & 聯(lián)系電話 & "')"
DoCmd.RunSQL add_sql
MsgBox "添加完成"
Me.數(shù)據(jù)表子窗體.Form.Requery
End Sub
監(jiān)考員數(shù)據(jù)表
Private Sub Form_BeforeUpdate(Cancel As Integer)
If 監(jiān)考員.Value <> "" And 監(jiān)考科目.Value <> "" And 聯(lián)系電話.Value <> "" Then
On Error GoTo 數(shù)據(jù)更新前提醒_Err
If (MsgBox("是否保存對記錄的修改", 1, "修改記錄提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
Else
MsgBox "監(jiān)考員,監(jiān)考科目,聯(lián)系電話都不能為空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
數(shù)據(jù)更新前提醒_Exit:
Exit Sub
數(shù)據(jù)更新前提醒_Err:
MsgBox Error$
Resume 數(shù)據(jù)更新前提醒_Exit
End Sub
Private Sub 監(jiān)考員_DblClick(Cancel As Integer)
If MsgBox("是否刪除該記錄:" & Me.監(jiān)考員 & "?", vbYesNo) = vbYes Then
DoCmd.SetWarnings (False)
Dim del_sql As String
del_sql = "Delete From 監(jiān)考員表 Where 監(jiān)考員 = '" & Me.監(jiān)考員 & "'"
DoCmd.RunSQL del_sql
Me.Requery
End If
End Sub
考場管理
Private Sub Command查詢_Click()
On Error GoTo 結束查詢
If 查詢內容 <> "" And IsNull(查詢內容) = False And 查詢字段 <> "" And IsNull(查詢字段) = False Then
Me.數(shù)據(jù)表子窗體.Form.Filter = Me.查詢字段 & " like '*" & Me.查詢內容 & "*'"
Me.數(shù)據(jù)表子窗體.Form.FilterOn = True
Me.數(shù)據(jù)表子窗體.Requery
Else
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End If
Me.數(shù)據(jù)表子窗體.SetFocus
Exit Sub
結束查詢:
MsgBox Err.Description
End Sub
Private Sub Command清空_Click()
考場名稱.Value = ""
考場座位.Value = ""
狀態(tài).Value = ""
End Sub
Private Sub Command全部_Click()
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End Sub
Private Sub Command添加_Click()
If 考場名稱 = "" Or IsNull(考場名稱) = True Then
MsgBox "考場名稱值為空!"
Exit Sub
End If
If 考場座位 = "" Or IsNull(考場座位) = True Then
MsgBox "考場座位值為空!"
Exit Sub
End If
If 狀態(tài) = "" Or IsNull(狀態(tài)) = True Then
MsgBox "狀態(tài)值為空!"
Exit Sub
End If
If Nz(DCount("考場名稱", "考場表", "考場名稱='" & Me.考場名稱 & "' and 考場座位='" & Me.考場座位 & "'"), 0) > 0 Then
MsgBox "該考場名稱座位已存在!不能重復"
Exit Sub
End If
On Error Resume Next
DoCmd.SetWarnings (False)
Dim add_sql As String
add_sql = "Insert Into 考場表 (考場名稱,考場座位,狀態(tài)) Values ('" & 考場名稱 & "','" & 考場座位 & "','" & 狀態(tài) & "')"
DoCmd.RunSQL add_sql
MsgBox "添加完成"
Me.數(shù)據(jù)表子窗體.Form.Requery
End Sub
考場數(shù)據(jù)表
Private Sub Form_BeforeUpdate(Cancel As Integer)
If 考場名稱.Value <> "" And 考場座位.Value <> "" And 狀態(tài).Value <> "" Then
On Error GoTo 數(shù)據(jù)更新前提醒_Err
If (MsgBox("是否保存對記錄的修改", 1, "修改記錄提醒") = 1) Then
Beep
Else
DoCmd.RunCommand acCmdUndo
End If
Else
MsgBox "考場名稱,考場座位,狀態(tài)都不能為空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
數(shù)據(jù)更新前提醒_Exit:
Exit Sub
數(shù)據(jù)更新前提醒_Err:
MsgBox Error$
Resume 數(shù)據(jù)更新前提醒_Exit
End Sub
Private Sub 考場名稱_DblClick(Cancel As Integer)
If MsgBox("是否刪除該記錄:" & Me.考場名稱 & "?", vbYesNo) = vbYes Then
DoCmd.SetWarnings (False)
Dim del_sql As String
del_sql = "Delete From 考場表 Where 考場名稱 = '" & Me.考場名稱 & "'"
DoCmd.RunSQL del_sql
Me.Requery
End If
End Sub
考試安排管理
Private Sub Command報表_Click()
If Me.數(shù)據(jù)表子窗體.Form.FilterOn = True Then
DoCmd.OpenReport "考試安排報表", acViewReport, , Me.數(shù)據(jù)表子窗體.Form.Filter
Else
DoCmd.OpenReport "考試安排報表", acViewReport
End If
End Sub
Private Sub Command查詢_Click()
On Error GoTo 結束查詢
If 查詢內容 <> "" And IsNull(查詢內容) = False And 查詢字段 <> "" And IsNull(查詢字段) = False Then
Me.數(shù)據(jù)表子窗體.Form.Filter = Me.查詢字段 & " like '*" & Me.查詢內容 & "*'"
Me.數(shù)據(jù)表子窗體.Form.FilterOn = True
Me.數(shù)據(jù)表子窗體.Requery
Else
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End If
Me.數(shù)據(jù)表子窗體.SetFocus
Exit Sub
結束查詢:
MsgBox Err.Description
End Sub
Private Sub Command清空_Click()
學號.Value = ""
考試.Value = ""
考場.Value = ""
座位.Value = ""
監(jiān)考員.Value = ""
成績.Value = ""
狀態(tài).Value = ""
End Sub
Private Sub Command全部_Click()
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End Sub
Private Sub Command添加_Click()
If 學號 = "" Or IsNull(學號) = True Then
MsgBox "學號值為空!"
Exit Sub
End If
If 考試 = "" Or IsNull(考試) = True Then
MsgBox "考試值為空!"
Exit Sub
End If
If 考場 = "" Or IsNull(考場) = True Then
MsgBox "考場值為空!"
Exit Sub
End If
If 座位 = "" Or IsNull(座位) = True Then
MsgBox "座位值為空!"
Exit Sub
End If
On Error Resume Next
Dim add_rs As DAO.Recordset
Set add_rs = CurrentDb.OpenRecordset("考試安排表", dbOpenTable)
With add_rs
.AddNew
!學號.Value = 學號.Value
!考試.Value = 考試.Value
!考場.Value = 考場.Value
!座位.Value = 座位.Value
!監(jiān)考員.Value = 監(jiān)考員.Value
!成績.Value = 成績.Value
!狀態(tài).Value = 狀態(tài).Value
.Update
.Close
End With
Set add_rs = Nothing
MsgBox "添加完成"
Me.數(shù)據(jù)表子窗體.Form.Requery
End Sub
Private Sub 考場_AfterUpdate()
If Me.考場 <> "" Then
Me.座位.RowSource = "Select 考場座位,狀態(tài) From 考場表 where 考場名稱='" & Me.考場 & "'"
Me.座位 = ""
Me.座位.Requery
Else
Me.座位.RowSource = "Select 考場座位,狀態(tài) From 考場表"
Me.座位 = ""
Me.座位.Requery
End If
End Sub
Private Sub 考場_Change()
If Me.考場 <> "" Then
Me.座位.RowSource = "Select 考場座位,狀態(tài) From 考場表 where 考場名稱='" & Me.考場 & "'"
Me.座位 = ""
Me.座位.Requery
Else
Me.座位.RowSource = "Select 考場座位,狀態(tài) From 考場表"
Me.座位 = ""
Me.座位.Requery
End If
End Sub
考試管理
Private Sub Command查詢_Click()
On Error GoTo 結束查詢
If 查詢內容 <> "" And IsNull(查詢內容) = False And 查詢字段 <> "" And IsNull(查詢字段) = False Then
Me.數(shù)據(jù)表子窗體.Form.Filter = Me.查詢字段 & " like '*" & Me.查詢內容 & "*'"
Me.數(shù)據(jù)表子窗體.Form.FilterOn = True
Me.數(shù)據(jù)表子窗體.Requery
Else
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End If
Me.數(shù)據(jù)表子窗體.SetFocus
Exit Sub
結束查詢:
MsgBox Err.Description
End Sub
Private Sub Command清空_Click()
考試名稱.Value = ""
科目.Value = ""
考試日期.Value = ""
考試時間.Value = ""
End Sub
Private Sub Command全部_Click()
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End Sub
Private Sub Command添加_Click()
If 考試名稱 = "" Or IsNull(考試名稱) = True Then
MsgBox "考試名稱值為空!"
Exit Sub
End If
If 科目 = "" Or IsNull(科目) = True Then
MsgBox "科目值為空!"
Exit Sub
End If
If 考試日期 = "" Or IsNull(考試日期) = True Then
MsgBox "考試日期值為空!"
Exit Sub
End If
If 考試時間 = "" Or IsNull(考試時間) = True Then
MsgBox "考試時間值為空!"
Exit Sub
End If
If Nz(DCount("考試名稱", "考試表", "考試名稱='" & Me.考試名稱 & "'"), 0) > 0 Then
MsgBox "該考試名稱已存在!不能重復"
Exit Sub
End If
On Error Resume Next
DoCmd.SetWarnings (False)
Dim add_sql As String
add_sql = "Insert Into 考試表 (考試名稱,科目,考試日期,考試時間) Values ('" & 考試名稱 & "','" & 科目 & "',#" & 考試日期 & "#,'" & 考試時間 & "')"
DoCmd.RunSQL add_sql
MsgBox "添加完成"
Me.數(shù)據(jù)表子窗體.Form.Requery
End Sub
考試數(shù)據(jù)表
Private Sub Form_BeforeUpdate(Cancel As Integer)
If 考試名稱.Value <> "" And 科目.Value <> "" And 考試日期.Value <> "" And 考試時間.Value <> "" Then
On Error GoTo 數(shù)據(jù)更新前提醒_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
數(shù)據(jù)更新前提醒_Exit:
Exit Sub
數(shù)據(jù)更新前提醒_Err:
MsgBox Error$
Resume 數(shù)據(jù)更新前提醒_Exit
End Sub
Private Sub 考試名稱_DblClick(Cancel As Integer)
DoCmd.OpenForm "考試信息管理", acNormal, , "考試名稱='" & 考試名稱 & "'"
End Sub
考試統(tǒng)計
Private Sub Command報表_Click()
If Me.數(shù)據(jù)表子窗體.Form.FilterOn = True Then
DoCmd.OpenReport "考試統(tǒng)計報表", acViewReport, , Me.數(shù)據(jù)表子窗體.Form.Filter
Else
DoCmd.OpenReport "考試統(tǒng)計報表", acViewReport
End If
End Sub
Private Sub Command查詢_Click()
On Error GoTo 結束查詢
If 查詢內容 <> "" And IsNull(查詢內容) = False And 查詢字段 <> "" And IsNull(查詢字段) = False Then
Me.數(shù)據(jù)表子窗體.Form.Filter = Me.查詢字段 & " like '*" & Me.查詢內容 & "*'"
Me.數(shù)據(jù)表子窗體.Form.FilterOn = True
Me.數(shù)據(jù)表子窗體.Requery
Else
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End If
Me.數(shù)據(jù)表子窗體.SetFocus
Exit Sub
結束查詢:
MsgBox Err.Description
End Sub
Private Sub Command清空_Click()
考場名稱.Value = ""
考場座位.Value = ""
狀態(tài).Value = ""
End Sub
Private Sub Command全部_Click()
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End Sub
Private Sub Command添加_Click()
If 考場名稱 = "" Or IsNull(考場名稱) = True Then
MsgBox "考場名稱值為空!"
Exit Sub
End If
If 考場座位 = "" Or IsNull(考場座位) = True Then
MsgBox "考場座位值為空!"
Exit Sub
End If
If 狀態(tài) = "" Or IsNull(狀態(tài)) = True Then
MsgBox "狀態(tài)值為空!"
Exit Sub
End If
If Nz(DCount("考場名稱", "考場表", "考場名稱='" & Me.考場名稱 & "' and 考場座位='" & Me.考場座位 & "'"), 0) > 0 Then
MsgBox "該考場名稱座位已存在!不能重復"
Exit Sub
End If
On Error Resume Next
DoCmd.SetWarnings (False)
Dim add_sql As String
add_sql = "Insert Into 考場表 (考場名稱,考場座位,狀態(tài)) Values ('" & 考場名稱 & "','" & 考場座位 & "','" & 狀態(tài) & "')"
DoCmd.RunSQL add_sql
MsgBox "添加完成"
Me.數(shù)據(jù)表子窗體.Form.Requery
End Sub
考試信息管理
Private Sub Command更新_Click()
If 考試名稱.Value <> "" And 科目.Value <> "" And 考試日期.Value <> "" And 考試時間.Value <> "" Then
On Error GoTo 數(shù)據(jù)更新前提醒_Err
DoCmd.RunCommand acCmdSaveRecord
Else
MsgBox "考試名稱,科目,考試日期,考試時間都不能為空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
數(shù)據(jù)更新前提醒_Exit:
Exit Sub
數(shù)據(jù)更新前提醒_Err:
MsgBox Error$
Resume 數(shù)據(jù)更新前提醒_Exit
End Sub
Private Sub Command刪除_Click()
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
DoCmd.SetWarnings (False)
If MsgBox("是否刪除該記錄:" & Me.考試名稱, vbYesNo) = vbYes Then
DoCmd.SetWarnings (False)
Dim del_sql As String
del_sql = "Delete From 考試表 Where 考試名稱 = '" & Me.考試名稱 & "'"
DoCmd.RunSQL del_sql
MsgBox "刪除成功"
Forms("系統(tǒng)主頁").顯示界面子窗體.Form.數(shù)據(jù)表子窗體.Form.Requery
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)
If 考試名稱.Value <> "" And 科目.Value <> "" And 考試日期.Value <> "" And 考試時間.Value <> "" Then
On Error GoTo 數(shù)據(jù)更新前提醒_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
數(shù)據(jù)更新前提醒_Exit:
Exit Sub
數(shù)據(jù)更新前提醒_Err:
MsgBox Error$
Resume 數(shù)據(jù)更新前提醒_Exit
End Sub
學生管理
Private Sub Command報表_Click()
If Me.數(shù)據(jù)表子窗體.Form.FilterOn = True Then
DoCmd.OpenReport "學生報表", acViewReport, , Me.數(shù)據(jù)表子窗體.Form.Filter
Else
DoCmd.OpenReport "學生報表", acViewReport
End If
End Sub
Private Sub Command查詢_Click()
On Error GoTo 結束查詢
If 查詢內容 <> "" And IsNull(查詢內容) = False And 查詢字段 <> "" And IsNull(查詢字段) = False Then
Me.數(shù)據(jù)表子窗體.Form.Filter = Me.查詢字段 & " like '*" & Me.查詢內容 & "*'"
Me.數(shù)據(jù)表子窗體.Form.FilterOn = True
Me.數(shù)據(jù)表子窗體.Requery
Else
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End If
Me.數(shù)據(jù)表子窗體.SetFocus
Exit Sub
結束查詢:
MsgBox Err.Description
End Sub
Private Sub Command清空_Click()
學號.Value = ""
姓名.Value = ""
性別.Value = ""
班級.Value = ""
End Sub
Private Sub Command全部_Click()
Me.數(shù)據(jù)表子窗體.Form.FilterOn = False
Me.數(shù)據(jù)表子窗體.Requery
End Sub
Private Sub Command添加_Click()
If 學號 = "" Or IsNull(學號) = True Then
MsgBox "學號值為空!"
Exit Sub
End If
If 姓名 = "" Or IsNull(姓名) = True Then
MsgBox "姓名值為空!"
Exit Sub
End If
If 性別 = "" Or IsNull(性別) = True Then
MsgBox "性別值為空!"
Exit Sub
End If
If 班級 = "" Or IsNull(班級) = True Then
MsgBox "班級值為空!"
Exit Sub
End If
If Nz(DCount("學號", "學生表", "學號='" & Me.學號 & "'"), 0) > 0 Then
MsgBox "該學號已存在!不能重復"
Exit Sub
End If
On Error Resume Next
DoCmd.SetWarnings (False)
Dim add_sql As String
add_sql = "Insert Into 學生表 (學號,姓名,性別,班級) Values ('" & 學號 & "','" & 姓名 & "','" & 性別 & "','" & 班級 & "')"
DoCmd.RunSQL add_sql
MsgBox "添加完成"
Me.數(shù)據(jù)表子窗體.Form.Requery
End Sub
學生數(shù)據(jù)表
Private Sub Form_BeforeUpdate(Cancel As Integer)
If 學號.Value <> "" And 姓名.Value <> "" And 性別.Value <> "" And 班級.Value <> "" Then
On Error GoTo 數(shù)據(jù)更新前提醒_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
數(shù)據(jù)更新前提醒_Exit:
Exit Sub
數(shù)據(jù)更新前提醒_Err:
MsgBox Error$
Resume 數(shù)據(jù)更新前提醒_Exit
End Sub
Private Sub 學號_DblClick(Cancel As Integer)
DoCmd.OpenForm "學生信息管理", acNormal, , "學號='" & 學號 & "'"
End Sub
學生信息管理
Private Sub Command更新_Click()
If 學號.Value <> "" And 姓名.Value <> "" And 性別.Value <> "" And 班級.Value <> "" Then
On Error GoTo 數(shù)據(jù)更新前提醒_Err
DoCmd.RunCommand acCmdSaveRecord
Else
MsgBox "學號,姓名,性別,班級都不能為空"
On Error Resume Next
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
數(shù)據(jù)更新前提醒_Exit:
Exit Sub
數(shù)據(jù)更新前提醒_Err:
MsgBox Error$
Resume 數(shù)據(jù)更新前提醒_Exit
End Sub
Private Sub Command刪除_Click()
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
DoCmd.SetWarnings (False)
If MsgBox("是否刪除該記錄:" & Me.學號, vbYesNo) = vbYes Then
DoCmd.SetWarnings (False)
Dim del_sql As String
del_sql = "Delete From 學生表 Where 學號 = '" & Me.學號 & "'"
DoCmd.RunSQL del_sql
MsgBox "刪除成功"
Forms("系統(tǒng)主頁").顯示界面子窗體.Form.數(shù)據(jù)表子窗體.Form.Requery
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)
If 學號.Value <> "" And 姓名.Value <> "" And 性別.Value <> "" And 班級.Value <> "" Then
On Error GoTo 數(shù)據(jù)更新前提醒_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
數(shù)據(jù)更新前提醒_Exit:
Exit Sub
數(shù)據(jù)更新前提醒_Err:
MsgBox Error$
Resume 數(shù)據(jù)更新前提醒_Exit
End Sub
如果需要做好的數(shù)據(jù)庫系統(tǒng)文件和全部設計資料,可訪問同名↓獲取
