📄 frmresult.frm
字号:
txtExamNo.Text = "Exam" & Trim(Str(No))
Else
MsgBox "系统超出负荷!建议尽快升级!", vbOKOnly + vbInformation, "提示"
End If
End If
End Sub
Private Sub CboCouNO_dropdown() '得到某年级的所有已开设的课程
If CboStuNo.Text = Empty Then
MsgBox "学号不能为空!", vbOKOnly + vbInformation, "提示"
Exit Sub
End If
Dim Gradename As String
Dim Gradeno As String
Gradename = Mid(Trim(CboStuNo.Text), 5, 2)
myResult.rsDK1 "select * from schoolgrade_info where grade_name='" & Gradename & "'"
Gradeno = myResult.rs1!grade_no
myResult.rsDK1 "select * from gradecourse_info where grade_no='" & Gradeno & "'"
If myResult.rs1.EOF Then
MsgBox "课程还未开设,请先到课程设置开设课程!", vbOKOnly + vbInformation, "提示"
Else
CboCouNO.Clear
myResult.rs1.MoveFirst
While myResult.rs1.EOF = False
CboCouNO.AddItem myResult.rs1!course_no
myResult.rs1.MoveNext
Wend
End If
End Sub
Private Sub CboCouNO_change() '课程输入只能是数字
If IsNumeric(CboCouNO.Text) = False Then
If CboCouNO.Text = Empty Then Exit Sub
MsgBox "只能输入数字!", vbOKOnly + vbInformation, "提示"
CboCouNO.SetFocus
SendKeys "{home}+{end}"
End If
End Sub
Private Sub CboCouNO_KeyPress(KeyAscii As Integer)
If Not (Chr(KeyAscii) <= "9" And Chr(KeyAscii) >= "0" Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
Private Sub CboFinNo_dropdown()
myResult.rsDK2 "select * from student_info "
If myResult.rs2.EOF = True Then
MsgBox "没有任何学生信息,请先到学生管理登记信息!", vbOKOnly + vbInformation, "提示"
Exit Sub
Else
cmdFind.Default = True
CboFinNo.Clear
myResult.rs2.MoveFirst
CboFinNo.Text = myResult.rs2!student_id
While myResult.rs2.EOF = False
CboFinNo.AddItem myResult.rs2!student_id
myResult.rs2.MoveNext
Wend
End If
End Sub
Private Sub CboFinNo_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If Not ((Chr(KeyAscii) <= "Z" And Chr(KeyAscii) >= "A") Or (Chr(KeyAscii) <= "9" And Chr(KeyAscii) >= "0") Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
Private Sub CboStuNo_Click()
CboCouNO.Clear
End Sub
Private Sub CboStuNo_dropdown() '得到学生记录集的所有学生编号
Dim resu_con As ADODB.Connection
Set resu_con = New ADODB.Connection
resu_con.Open "provider=sqloledb;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Sims_four;Data Source=."
Dim Stud_rs As ADODB.Recordset
Set Stud_rs = New ADODB.Recordset
Stud_rs.Open "student_info", resu_con, adOpenStatic, adLockOptimistic, adCmdTable
If Stud_rs.EOF = True Then
MsgBox "没有任何学生信息,请先到学生管理登记信息!", vbOKOnly + vbInformation, "提示"
Else
CboStuNo.Clear
Stud_rs.MoveFirst
CboStuNo.Text = Stud_rs!student_id
While Stud_rs.EOF = False
CboStuNo.AddItem Stud_rs!student_id
Stud_rs.MoveNext
Wend
End If
End Sub
Private Sub CboStuNo_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If Not ((Chr(KeyAscii) <= "Z" And Chr(KeyAscii) >= "A") Or (Chr(KeyAscii) <= "9" And Chr(KeyAscii) >= "0") Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
Private Sub cmdAdd_Click()
If cmdAdd.Caption = "添加(&A)" Then
cmdAdd.Caption = "取消(&C)"
cmdSave.Caption = "保存(&S)"
Frame1.Enabled = True
Call ClearText
Call IsAutoNo '自动检测考试编号
cmdSave.Enabled = True
cmdDel.Enabled = False
CboStuNo.SetFocus
Else
cmdAdd.Caption = "添加(&A)"
cmdSave.Caption = "保存(&S)"
Frame1.Enabled = False
cmdDel.Enabled = False
cmdSave.Enabled = False
Call ClearText '清空
End If
End Sub
Private Sub DisPlay()
Set myResult = New OpenRs
myResult.rsDK2 "select * from result_info"
Frame1.Enabled = False
cmdSave.Enabled = False
If myResult.rs2.RecordCount = 0 Then
MsgBox "已经没有记录了,请登记!", vbOKOnly + vbInformation, "提示"
result_Grid.Clear
cmdAdd.Enabled = True
Frame1.Enabled = False
txtExamNo.Text = ""
CboStuNo.Text = ""
CboCouNO.Clear
TxtResult.Text = ""
Else
myResult.rs2.MoveLast
txtExamNo.Text = myResult.rs2!exam_no
CboStuNo.Text = myResult.rs2!student_id
CboCouNO.Text = myResult.rs2!course_no
TxtResult.Text = myResult.rs2!result
cmdDel.Enabled = True
result_Grid.Enabled = True
cmdAdd.Enabled = True
Set result_Grid.DataSource = myResult.rs2
End If
myResult.rs2.Close
Set myResult.rs2 = Nothing
End Sub
Private Sub cmdDel_Click()
If txtExamNo.Text = "" Then
MsgBox "请选择要删除的记录!", vbOKOnly + vbInformation, "删除记录"
Exit Sub
End If
If MsgBox("确定要删除该条记录吗?", vbOKCancel + vbQuestion, "删除记录") = vbOK Then
myResult.rsDK1 "select * from result_info where exam_no='" & txtExamNo.Text & "'"
myResult.rs1.Delete
cmdDel.Enabled = False
cmdSave.Enabled = False
Frame1.Enabled = False
Call ClearText
myResult.rsDK1 "select * from result_info"
If myResult.rs1.EOF Then
result_Grid.Clear
result_Grid.FormatString = " | 考试编号| 学生学号| 课程编号| 分数"
Else
Set result_Grid.DataSource = myResult.rs1
result_Grid.FormatString = " | 考试编号| 学生学号| 课程编号| 分数"
End If
End If
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub Cmdfind_Click()
If CboFinNo.Text = "" Then
MsgBox "学号不能为空!", vbOKOnly + vbInformation, "提示"
CboFinNo.SetFocus
Exit Sub
End If
Set myResult = New OpenRs
myResult.rsDK2 "select * from result_info where student_id='" & CboFinNo.Text & "'"
If myResult.rs2.EOF Then
Call ClearText
MsgBox "没有找到符合条件的记录,请重新输入!", vbOKOnly + vbInformation, "提示"
CboFinNo.Text = ""
Else
Set result_Grid.DataSource = myResult.rs2
result_Grid.FormatString = " | 考试编号| 学生学号| 课程编号| 分数"
txtExamNo.Text = myResult.rs2!exam_no
CboStuNo.Text = myResult.rs2!student_id
CboCouNO.Text = myResult.rs2!course_no
TxtResult.Text = myResult.rs2!result
Frame1.Enabled = True
cmdDel.Enabled = True
cmdSave.Enabled = True
cmdSave.Caption = "更新(&U)"
End If
End Sub
Private Sub Cmdsave_Click()
If CboStuNo.Text = Empty Then
MsgBox "请输入学号!", vbOKOnly + vbInformation, "提示"
CboStuNo.SetFocus
Exit Sub
End If
If CboCouNO.Text = Empty Then
MsgBox "请输入课程编号!", vbOKOnly + vbInformation, "提示"
CboCouNO.SetFocus
Exit Sub
End If
If TxtResult.Text = Empty Then
MsgBox "请输入分数!", vbOKOnly + vbInformation, "提示"
TxtResult.SetFocus
Exit Sub
End If
myResult.rsDK1 "select * from student_info where student_id='" & CboStuNo.Text & "'"
If myResult.rs1.EOF Then
MsgBox "学号不存在,请重新输入!", vbOKOnly + vbInformation, "提示"
CboStuNo.Text = ""
Exit Sub
End If
myResult.rsDK1 "select * from result_info"
If cmdSave.Caption = "保存(&S)" Then
With myResult.rs1
.AddNew
!exam_no = txtExamNo.Text
!student_id = CboStuNo.Text
!course_no = CboCouNO.Text
!result = TxtResult.Text
.Update
End With
Set result_Grid.DataSource = myResult.rs1
result_Grid.FormatString = " | 考试编号| 学生学号| 课程编号| 分数"
MsgBox "记录已成功添加!", vbOKOnly + vbInformation, "提示"
cmdSave.Enabled = False
cmdAdd.Caption = "添加(&A)"
Frame1.Enabled = False
Frame2.Enabled = True
Else
myResult.rsDK1 "select * from result_info where exam_no='" & txtExamNo.Text & "'"
With myResult.rs1
!student_id = CboStuNo.Text
!course_no = CboCouNO.Text
!result = TxtResult.Text
.Update
End With
Set result_Grid.DataSource = myResult.rs1
result_Grid.FormatString = " | 考试编号| 学生学号| 课程编号| 分数"
MsgBox "记录已更新!", vbOKOnly + vbInformation, "提示"
cmdSave.Enabled = False
cmdDel.Enabled = False
cmdAdd.Caption = "添加(&A)"
Frame1.Enabled = False
End If
End Sub
Private Sub Form_Load()
Set myResult = New OpenRs
result_Grid.FormatString = " | 考试编号| 学生学号| 课程编号| 分数"
myResult.rsDK1 "select * from result_info"
If myResult.rs1.EOF Then
result_Grid.Clear
Frame2.Enabled = False
result_Grid.FormatString = " | 考试编号| 学生学号| 课程编号| 分数"
Else
Set result_Grid.DataSource = myResult.rs1
result_Grid.FormatString = " | 考试编号| 学生学号| 课程编号| 分数"
End If
End Sub
Private Sub result_Grid_Click()
myResult.rsDK1 "select * from result_info"
If myResult.rs1.EOF Then Exit Sub
Frame1.Enabled = True
cmdDel.Enabled = True
cmdSave.Enabled = True
cmdSave.Caption = "更新(&U)"
txtExamNo.Text = result_Grid.TextMatrix(result_Grid.Row, 1) '让点击表来显示任意记录
CboStuNo.Text = result_Grid.TextMatrix(result_Grid.Row, 2)
CboCouNO.Text = result_Grid.TextMatrix(result_Grid.Row, 3)
TxtResult.Text = result_Grid.TextMatrix(result_Grid.Row, 4)
End Sub
Private Sub TxtResult_change()
If Val(TxtResult.Text) > 100 Or IsNumeric(TxtResult.Text) = False Then
If TxtResult.Text = Empty Then Exit Sub '
MsgBox "你输入的分数有误!", vbOKOnly + vbInformation, "提示"
TxtResult.Text = ""
End If
End Sub
Private Sub Txtresult_Keypress(KeyAscii As Integer) '分数只准输入的是数字
If Not (Chr(KeyAscii) <= "9" And Chr(KeyAscii) >= "0" Or KeyAscii = 8 Or KeyAscii = 46) Then
KeyAscii = 0
End If
End Sub
Public Sub ClearText()
txtExamNo.Text = ""
CboStuNo.Text = ""
CboCouNO.Clear
TxtResult.Text = ""
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -