【VB】删除MSHFlexGrid控件中一行(机房问题)

●项目 同时被 3 个专栏收录
27 篇文章 0 订阅
15 篇文章 1 订阅
一、删除MSHFlexGrid控件 中的一行
”添加和删除用户“界面,功能实现方面能遇到问题的应该只有”删除“了,在原程序中我们看到,当我们点击MSHFlexGrid控件中的一行时,会选中这一行,然后点击删除,该条记录就会被删除,这是怎么实现的呢?首先,我们要声明一个变量:
Dim CURRENTROW As Integer
然后,在代码中:
Private Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    With MSHFlexGrid1
        .Row = .MouseRow
        CURRENTROW = .Row
        .Col = 0
        .ColSel = .Cols - 1
    End With
End Sub

Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    With MSHFlexGrid1
        .RowSel = CURRENTROW
        .ColSel = .Cols - 1
    End With
End Sub
另外,在调用数据库的时候代码写:
txtSQL = "select * from User_Info where UserID = '" & MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
最后,运行程序,就会发现点击 MSHFlexGrid控件中的任意一行,都可以全选,而且可以连接到数据库用于更改和删除。但是,这样写还是有一点小瑕疵,在优化博客中再做介绍。



二、信息分行显示
在“退卡(充值)”窗体中,点击退卡(充值),会显示所退卡的基本信息,包括“ 退卡卡号、应退款金额、退卡日期、退卡时间、退卡教师“,原代码中是加了一个list框,我想,对于信息栏,是显示信息用的,不会被用于用户修改信息,所以,我把list框换成了label框,问题来了,怎么分行显示数据库中内容呢?首先,连接好数据库,然后使用vbCrLf命令,具体格式如下:
lblDetail.Caption = "退卡卡号:" & mrc!cardno & vbCrLf & "应退款金额:" & mrc!cash & vbCrLf & "退卡日期:" & mrc!Date & vbCrLf & "退卡时间:" & mrc!Time & vbCrLf & "退卡教师:" & mrc!UserID





三、MDI主窗体的费用计算
在主窗体中,下机后会涉及到费用计算,这就涉及到了三个表。分别是BasicData表,OnLine表还有Line表,因为这既要查询该用户的类型(固定用户还是临时用户),还要查询该用户类型的价格以及该用户有无上机等。
首先,判断有无上机,只要判断该卡号在Online表中有无数据就可以了。然后,在Online表中调出该用户类型,在BasicData表中调出该类型价格,然后使用公式计算花费,我使用的是一个简单的公式
mrca.Fields(11) = Int((mrca.Fields(10) / 60) + 1) * Trim(mrcb.Fields(0))
 计算完成后数据会存储在Line表中。

在这里,用到了一个DateDiff函数来计算时间:
mrca.Fields(10) = DateDiff("n", mrca.Fields(9), mrca.Fields(7))
 计算出的时间是以分钟为单位。



四、ViewData的使用
当一段代码被重复的使用时,比如在Form Load中加载一些数据到控件中,但是窗体中的按钮还需要重复调用这些数据,为提高效率,就用一个ViewData将这段代码写下,每次使用时就Call ViewData就可以了。


  • 1
    点赞
  • 18
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值