⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmresult.frm

📁 学生管理系统,vb+acc开发的一个简单程序
💻 FRM
📖 第 1 页 / 共 2 页
字号:
            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 + -