【学生】学生优化(四)修改记录及“3021”

一、点击修改记录,记录没有修改的时候也会提示修改成功。

加入一个判重。

原码:进行判断的只有一个条件,但是有的窗体是几个条件同时进行约束的。

'判断是否有重复记录
    mrc.Delete
    txtSQL = "select * from result_Info where student_ID= '" & Trim(comboSID.Text) & "'"
    Set mrcc = ExecuteSQL(txtSQL, MsgText)
    If mrcc.EOF = False Then
        MsgBox "学号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
        mrcc.Close
        comboSID.SetFocus
        comboSID.Text = ""
        txtName.Text = ""

修改:判重的时候判断所有的约束条件,只要有一个条件进行修改过就可以。

'判断是否有重复记录
'    mrc.Delete
    txtSQL = "select * from student_Info where student_ID= '" & Trim(txtSID.Text) & "' and student_Name='" & Trim(txtName.Text) & "' and student_Sex='" & Trim(comboSex.Text) & "' and born_date='" & Trim(DTPicker1.Value) & "' and class_No='" & Trim(comboClassno.Text) & "' and tele_Number= '" & Trim(txtTel.Text) & "' and ru_Date='" & Trim(DTPicker2.Value) & "'and address='" & Trim(txtAddress.Text) & "' and comment= '" & Trim(txtComment.Text) & "'"
    Set mrcc = ExecuteSQL(txtSQL, MsgText)
    If mrcc.EOF = False Then
        MsgBox "记录重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
        mrcc.Close
        txtSID.SetFocus
    Else

二、删除记录,删除数据库中的全部记录,会出现“3021”。

当数据库中的记录全部删除后,会提示记录删除完毕,并显示添加窗体。

Private Sub Form_Load()
'SQL语句进行查询
    txtSQL = "select * from class_Info"
    '执行查询操作
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    
    '判断数据集中是否还有记录
    If mrc.EOF = False Then
        '移到第一条记录
        mrc.MoveFirst
        '显示数据
        Call viewdata
        '记下当前记录的位置
        mybookmark = mrc.Bookmark
        '给标志赋初值
        mcclean = True
    Else
        str1 = MsgBox("没有班级信息,是否添加班级信息?", vbOKCancel, "提示")
        If str1 = vbOK Then
            Unload Me
            frmAddclassinfo.Show
        Else
            Unload Me
          
        End If
    End If
End Sub

三、删除记录,删除数据库的最后一条记录,会出现“3021”。

直接加入一个跳转,当删除最后一条记录,出现“3021”,就直接跳转到提示框,然后进入添加窗体。

Private Sub cmdDelete_Click()
On Error GoTo 1

????
????
????
????

1:
    If Err = 3021 Then
        MsgBox "没有数据了,是否添加数据?", vbOKOnly + vbExclamation, "提示"
        If vbOK Then
            Unload Me
            frmAddclassinfo.Show
        Else
            txtClassno.Text = "'"
            comboGrade.Text = ""
            txtDirector.Text = ""
            txtClassroom.Text = ""
        End If
    End If
end sub

四、进入修改窗体之前,先判断是否还有数据。

判断数据库是否为空,如果为空,则不加载窗体,并进入添加窗体。(在主窗体完成)

Private Sub changeclass_Click()
    Dim mrc As ADODB.Recordset
    Dim txtsql As String
    Dim msgtext As String
    '连接数据库
    txtsql = "select * from  class_info"
     Set mrc = ExecuteSQL(txtsql, msgtext)
     
     '判断是否为空
     If mrc.RecordCount <> 0 Then
         frmModifyclassinfo.Show
     Else
         MsgBox "没有班级信息,请先添加!", vbOKOnly + vbExclamation, "提示"
         Unload Me
         '跳转到添加窗体
         frmAddclassinfo.Show
     End If
End Sub

发布了68 篇原创文章 · 获赞 12 · 访问量 5844

猜你喜欢

转载自blog.csdn.net/Laura__zhang/article/details/99776668
今日推荐