机房收费系统之上机状态查询

本文介绍了一种上机状态查询及操作系统的实现方法,包括查询窗体的设计、强制下机功能的实现以及如何修改选中卡号的数据表信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上机状态查询分两个窗体:查询和操作。

功能:查询窗体跟前面讲的查询窗体一样是一个对字段不同条件的查询(针对对象是正在上机的卡信息);操作主要是对于正在上机的卡号进行强制下机(可让其全部下机,也可让某些人下机)。

步骤:

操作窗体:

1,显示全部正在上机的卡号信息(若想选择性的显示,可进入上机状态查询窗体),这个功能很好实现(直接查找一下上机记录表中“上机状态”的卡号信息即可)。

2,最大的难点是强制下机。我是先写的让选中的卡号下机,然后所有卡号下机是通过调用它来实现的(即选中所有的卡号下机)。

接下来就是选中卡号的操作:在这里我走了弯路,我是让其每次只能选中一行数据,这样使得操作反而变得很麻烦,不过在这里跟大家分享一下只能选中一行数据的方法吧:

Dim CurrentRow As Long

'选中一条记录
Private Sub MyFlexGrid_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    With MyFlexGrid
        .Row = .RowSel
        CurrentRow = .Row
        .Col = 0
    End With
End Sub

'只选中一行记录

Private Sub MyFlexGrid_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    With MyFlexGrid
        If CurrentRow > 0 Then
            .RowSel = CurrentRow
            .ColSel = .Cols - 1
        End If
    End With
End Sub

这种方法删除的时候直接用MyFlexGrid.RemoveItem CurrentRow即可删除显示的行(但是数据表中的该卡号记录还得通过查询该卡号信息然后删除)。

另外再跟大家分享一下可选中并删除不连续的多行数据方法

Private Sub HFlexgrid_MouseDown(Button As Integer, Shift As Integer, X As Single, y As Single)
    Dim i_Col As Integer
    '单击选择或不选择
    With HFlexgrid
        If .Rows < 2 Then Exit Sub
        If .Row < 1 Or .Row > .Rows - 1 Then Exit Sub
        If .TextMatrix(.Row, 0) = "√" Then
            .TextMatrix(.Row, 0) = ""
            '改变行颜色(变为没选中之前的)
            For i_Col = 0 To .Cols - 1
                .Col = i_Col
                .CellBackColor = vbWhite
           Next i_Col
        Else
            .TextMatrix(.Row, 0) = "√"
            '改变行颜色(选中后的颜色)
            For i_Col = 0 To .Cols - 1
                .Col = i_Col
                .CellBackColor = vbRed
            Next i_Col
        End If
    End With
End Sub
'删除选中得不连续的行
Private Sub cmdDelete_Click()
    Dim i As Integer
    i = 0
    Do
        If i >= HFlexgrid.Rows Then Exit Do
         If HFlexgrid.TextMatrix(i, 0) = "√" Then
            HFlexgrid.RemoveItem i
        Else
            i = i + 1
        End If
    Loop
End Sub

3,接下来的难点就是修改选中的卡号的数据表中的信息。这跟主窗体中的代码很像,就是将这些卡号的信息修改成下机后的状态(要修改下机日期和时间,余额,消费时间,消费金额),然后更新最新余额表。

'将选中的上机状态设为下机
strSQL = "select * from OnKeys where Cardno='" & Trim(MyFlexGrid.TextMatrix(CurrentRow, 0)) & "' and State='上机状态'"
Set mrs = ExecuteSQL(strSQL, MsgString)

'具体的修改操作(同主窗体)

查询窗体跟其他的条件查询窗体一样。

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值