学生管理系统(五)---修改窗体

前言:

 

      数据库信息的增加,不可避免的会遇到修改信息的问题。需要注意的是:打开该窗体的时候,所有的文本框的enable属性应该都为false,此时是不能输入的。点击修改记录的时候,所有文本框的enable属性为true。

 

内容:

 

      1、删除当前记录  

 

     myBookmark = mrc.Bookmark
     
     str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
     If str2$ = vbOK Then
      

        mrc.MoveNext
        
        If mrc.EOF Then
        
            mrc.MoveFirst
            myBookmark = mrc.Bookmark
            mrc.MoveLast
            mrc.Delete
            mrc.Bookmark = myBookmark
            Call viewData
        
        Else
            
            myBookmark = mrc.Bookmark
            mrc.MovePrevious
            mrc.Delete
            mrc.Bookmark = myBookmark
            Call viewData
            
        End If
        
    Else

      mrc.Bookmark = myBookmark
      Call viewData
    
    End If

 

       

       2、当前表中没有记录,需提示一下,然后卸载此窗体

     

     txtSQL = "select * from class_Info"
   
     Set mrcc = ExecuteSQL(txtSQL, MsgText)
     
        If (mrcc.RecordCount = 0) = True Then
        
            MsgBox "表中记录为空!", vbOKOnly + vbExclamation, "警告"
         
            Unload Me
     
       End If

 

 

 

 

        3、上一条记录,如果当前是第一条记录,则显示最后一条记录,反之亦然

    

     mrc.MovePrevious
     If mrc.BOF Then
          mrc.MoveLast
     
     End If

 

 

 

 

 

 

       4、如果当前窗体没有记录,显示该窗体的时候会出现“3021”的错误,解决方案

       

        在form的load事件下,添加如下代码:

     

On Error GoTo dateErr
     
     
     mrc.MoveFirst
     Call viewData
     myBookmark = mrc.Bookmark
     mcclean = True
     
     
dateErr:

       If Err = 3021 Then
       
            MsgBox "没有数据", vbOKOnly + vbExclamation, "警告"
            
       End If

 

 

 

 

 

 

 

 

 

 

      5、更新情况下,不允许添加重复的信息

 

     mrc.Delete
     txtSQL = "select * from class_Info where class_No= '" & Trim(txtClassno.Text) & "'"
     Set mrcc = ExecuteSQL(txtSQL, MsgText)
     
     If mrcc.EOF = False Then
     
            MsgBox "班号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
            mrcc.Close
            txtClassno.SetFocus
     
     Else
       
            mrcc.Close
            
            mrc.AddNew
            mrc.Fields(0) = Trim(txtClassno.Text)
            mrc.Fields(1) = Trim(comboGrade.Text)
            mrc.Fields(2) = Trim(txtDirector.Text)
            mrc.Fields(3) = Trim(txtClassroom.Text)
            mrc.Update
            
            MsgBox "修改班级信息成功!", vbOKOnly + vbExclamation, "警告"
            
            mrc.Bookmark = myBookmark
            Call viewData
            
            Frame1.Enabled = True
            cmdOK.Enabled = True
            cmdPrevious.Enabled = True
            cmdLast.Enabled = True
            cmdNext.Enabled = True
         
            txtClassno.Enabled = False
            comboGrade.Enabled = False
            txtDirector.Enabled = False
            txtClassroom.Enabled = False
            
            mcclean = True
            
     End If

 

 

 

 

 

 

 

 

总结:

 

       修改窗体涉及到的内容挺多的。查看的时候,显示第一条记录,上一条记录,下一条记录和最后一条记录。修改的时候有修改,更新,取消和删除的情况。

       最后一条记录的下一条记录应该是第一条,第一条记录的上一条是最后一条,逻辑上应该形成一个循环。

       修改记录,对当前的信息进行修改,然后进行更新或者取消修改,最后也可以进行删除记录,删除的时候要考虑到表中没有记录的情况。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值