机房收费系统——添加和删除用户

“添加和删除用户”这个窗体看起来并不难,但是还是要注意一些细节的。昨天被小伙伴安利了一个做流程图的网页,在敲代码之前画一画流程图确实可以让自己的逻辑更加清晰☟☟☟

问题

实时错误‘91’

对象变量或with块变量未设置

想必这个错误大家再熟悉不过了,但是这次一开始我真的不知道错在哪儿,后来通过师哥的博客发现:原来在模块中有限制如果有INSERT、DELECT、UPDATE语句,则会执行错误类型判断语句,查询错误。

决绝办法:将DELECT删除掉就可以啦~

补充

大家有没有想过一个问题:如果在这个窗体中将所有的用户都删除掉之后,我们再登录我们打包发布的系统岂不是怎样都登录不成功?然而解决这个问题的方法也很简单,仅需要在数据库的User_Info表中添加一个删除不掉的数据,或者说查询的时候可以查询排除这条数据之外的所有内容。例如:

在上图中我在数据表中插入了一条数据(框框中),为了避免这个用户不被删除,在SELECT查询时,可以写成以下这样:

txtSQL = "select * from User_Info where level='" & Trim(comboLevel.Text) & "'" & "and userID <> '00' "

部分代码展示:

Private Sub cmdDelete_Click()
    Dim txtSQL As String
    Dim MsgText As String
    Dim mrc As ADODB.Recordset
    
    '在数据库对应的表中删除所选中的几行中的内容
    '在数据库中查找对应数据
    txtSQL = "select * from User_Info where userID='" & Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, 0)) & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
            
    '判断是否选中了网格控件中需要设置的起始行
    '选中一行删除,要考虑到第一行(表头)不能删除
    With MSFlexGrid1
        If .RowSel = 0 Then  '起始行
        'RowSel设置或返回一个范围的单元格的起始行或终止行
        'colse为一定范围的单元格返回或设置的起始列和终止列
            MsgBox "请选择数据", vbOKOnly + vbExclamation, "提示"
        Exit Sub
    Else
            If .RowSel > 0 Then
            
                '判断选中级别用户是否为空
                If mrc.EOF Then
                    MsgBox "该级别用户为空,没有可删除的对象!", 48, "提示"
                    Exit Sub
                Else
                '判断用户是否在登录
                If Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, 0)) = UserName Then
                    MsgBox "该用户正在登陆,不能删除", vbOKOnly + vbExclamation, "警告"
                    Exit Sub
                Else
                    '删除数据库中与选中的行一直的数据(删除查询数据库)
                    mrc.Delete
                    
                'MSFlexGrid1.RemoveItem MSFlexGrid1.RowSel  '删除选中的行
                MsgBox "用户已经删除", 48, "恭喜"
                    
                End If
            End If
        End If
    End If
    End With
End Sub

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值