机房收费学生上机统计信息

  当今的硬件与软件的环境下,如果一个软件没有一个很好的界面设计,功能不方面实用,就不能算是成功。因为不管它的内部有多么精巧的技术,只要用户不喜欢它,不愿意使用它,那么它的一切优越性都不能发挥作用,它的价值和作用只能是零。

一、为了减少代码量,提高时间效率,放置信息利用控件数组更快,更方便。

Dim i As Integer
    
'将内容加载到字段名控件中
      For i = 0 To 2
          With Combo1(i)
              .AddItem "卡号"
              .AddItem "姓名"
              .AddItem "上机日期"
              .AddItem "上机时间"
              .AddItem "下机日期"
              .AddItem "下机时间"
              .AddItem "消费金额"
              .AddItem "余额"
              .AddItem "备注"
          End With
      Next i

'将操作符加载在控件中
        For i = 0 To 2
            With Combo2(i)
            .AddItem "="
            .AddItem "<"
            .AddItem ">"
            .AddItem "<>"
            End With
        Next i

'将组合关系加载到控件中
        For i = 0 To 1
            With Combo3(i)
            .AddItem "与"
            .AddItem "或"
            End With
        Next i

'给MSFlexGrid1控件添加显示内容的表头
        With MSFlexGrid1
            .rows = 2
            .CellAlignment = 4
            .TextMatrix(0, 0) = "卡号"
            .TextMatrix(0, 1) = "姓名"
            .TextMatrix(0, 2) = "上机日期"
            .TextMatrix(0, 3) = "上机时间"
            .TextMatrix(0, 4) = "下机日期"
            .TextMatrix(0, 5) = "下机时间"
            .TextMatrix(0, 6) = "消费金额"
            .TextMatrix(0, 7) = "余额"
            .TextMatrix(0, 8) = "备注"
        End With

    '窗体居中显示代码
    Me.Left = Screen.Width / 2 - Me.Width / 2
    Me.Top = Screen.Height / 2 - Me.Height / 2

二、清空控件全部内容代码如下:

'清空控件内容
    Dim ctr1 As Control
    For Each ctr1 In Me.Controls
        If TypeOf ctr1 Is TextBox Then
            ctr1.Text = ""
        ElseIf TypeOf ctr1 Is ComboBox Then
            ctr1.Text = ""
        End If
    Next
    '清空表格,还原加载的第一行
    MSFlexGrid1.rows = 1
    MSFlexGrid1.rows = MSFlexGrid1.rows + 1

三、创建控件数组让ComBox控件也就是Combo1(0)只允许手动下拉不能随意删除数据。

'combo1数组不能手动改写只允许下拉选择
Private Sub Combo1_KeyPress(Index As Integer, KeyAscii As Integer)
     Dim i As Integer
     
        For i = 0 To 2
            With Combo1(i)
                KeyAscii = 0
            End With
        Next i
End Sub

四、对于如下此界面,它的姓名根本不存在有大于、小于、关系,所有要用代码给限制下。
在这里插入图片描述

'对应不同的字段名,改变操作符,后边有不存在关系的可以跟Or直接加。
Dim t As Integer
    t = Index
    If Combo1(t).Text = "姓名" Or Combo1(t).Text = "备注" Then '如果combo控件内容为姓名,备注则调整运算符
                
        Combo2(t).Clear
        Combo2(t).AddItem "="
        Combo2(t).AddItem "<>"
    Else
        Combo2(t).Clear
        Combo2(t).AddItem "="
        Combo2(t).AddItem ">"
        Combo2(t).AddItem "<"
        Combo2(t).AddItem "<>"
    End If

五、创建DTPicker控件数组,text文本框和DTPicker控件依据字段不同交替使用,一切是为了用户方便,减少用户手动输入。

 '时间和日期字段名,使用DTPicker控件,根据选择显示相应的时间控件。
    dim i as integer
        i = Index
        If Combo1(i).Text = "上机日期" Or Combo1(i).Text = "下机日期" Then
            Text4(i).Visible = False
            DTPicker1(i).Visible = True
            DTPicker1(i).Format = dtpCustom
        Else
            Text4(i).Visible = True
            DTPicker1(i).Visible = False
            
            If Combo1(i).Text = "上机时间" Or Combo1(i).Text = "下机时间" Then
                '设置格式为时间格式
                DTPicker1(i).Format = dtpTime
                DTPicker1(i).Visible = True
                Text4(i).Visible = False
            Else
                Text4(i).Visible = True
                DTPicker1(i).Visible = False
            End If
        End If
   
   '让窗体加载时DTPicker隐藏
   Dim q As Integer
    For q = 0 To 2
        DTPicker1(q).Visible = False
    Next q

	'查询按钮中加入
	Dim w As Integer
      For w = 0 To 2
          If DTPicker1(w).Visible = True Then
              Text4(w).Text = DTPicker1(w).Value
          End If
      Next w

六、给模块里边安排一个函数,作用是将字段转换成数据库可识别的语句。这个不是固定的,根据自己需求,用到那个给相应的加那个。

'字段转换
Public Function field(comboField$) As String
    Select Case Trim(comboField)
        Case "卡号"
           field = "cardno"
        Case "姓名"
            field = "studentname"
        Case "上机日期"
            field = "ondate"
        Case "上机时间"
            field = "ontime"
        Case "下机日期"
            field = "offdate"
        Case "下机时间"
            field = "offtime"
        Case "消费金额"
            field = "consume"
        Case "金额"
            field = "cash"
        Case "备注"
            field = "status"
        Case "与"
            field = "and"
        Case "或"
            field = "or"
        Case "学号"
            field = "studentno"
        Case "性别"
            field = "sex"
    End Select
End Function
发布了53 篇原创文章 · 获赞 6 · 访问量 3347

猜你喜欢

转载自blog.csdn.net/weixin_44031029/article/details/102875989