机房收费系统—组合查询

原创 2016年08月29日 16:45:47

在敲机房的时候,组合查询这一块是一个难点,为什么难呢,说白了就是没有理清思路,理清楚思路之后,写代码的时候再认真一些就没有问题了。



1首先在加载窗体中 

<span style="font-size:24px;">Private Sub Form_Load()

    Combo1.AddItem "卡号"
    Combo1.AddItem "学号"
    Combo1.AddItem "姓名"
    Combo1.AddItem "性别"
    Combo1.AddItem "系别"
    Combo1.AddItem "年级"
    Combo1.AddItem "班级"

    Combo2.AddItem "卡号"
    Combo2.AddItem "学号"
    Combo2.AddItem "姓名"
    Combo2.AddItem "性别"
    Combo2.AddItem "系别"
    Combo2.AddItem "年级"
    Combo2.AddItem "班级"
    
    Combo3.AddItem "卡号"
    Combo3.AddItem "学号"
    Combo3.AddItem "姓名"
    Combo3.AddItem "性别"
    Combo3.AddItem "系别"
    Combo3.AddItem "年级"
    Combo3.AddItem "班级"

    Combo4.AddItem "="
    Combo4.AddItem "<"
    Combo4.AddItem ">"
    Combo4.AddItem "<>"

    Combo5.AddItem "="
    Combo5.AddItem "<"
    Combo5.AddItem ">"
    Combo5.AddItem "<>"

    Combo6.AddItem "="
    Combo6.AddItem "<"
    Combo6.AddItem ">"
    Combo6.AddItem "<>"

    Combo7.AddItem "与"
    Combo7.AddItem "或"

    Combo8.AddItem "与"
    Combo8.AddItem "或"
    
    Combo2.Enabled = False
    Combo3.Enabled = False
    Combo5.Enabled = False
    Combo6.Enabled = False
    Text2.Enabled = False
    Text3.Enabled = False
    Combo8.Enabled = False
  
End Sub</span>
2控件的显示

<span style="font-size:24px;">Private Sub Combo7_click()
Combo2.Enabled = True
Combo5.Enabled = True
Text2.Enabled = True
Combo8.Enabled = True
End Sub

Private Sub Combo8_click()
Combo3.Enabled = True
Combo6.Enabled = True
Text3.Enabled = True

End Sub</span>
3把汉字转化为数据库中的字段

<span style="font-size:24px;">Private Function FieldName(strFieldName As String) As String
'用来把汉字转变成SQL可识别的英文
    Select Case strFieldName
        Case "卡号"
            FieldName = "cardno"
        Case "学号"
            FieldName = "studentNo"
        Case "姓名"
            FieldName = "studentName"
        Case "性别"
            FieldName = "sex"
        Case "系别"
            FieldName = "department"
        Case "年级"
            FieldName = "grade"
        Case "班级"
            FieldName = "class"
        Case "或"
            FieldName = "or"
        Case "与"
            FieldName = "and"

    End Select          
End Function</span>
4定义一个函数

<span style="font-size:24px;">Private Function ViewData(txtSQL, mrc As ADODB.Recordset)
    
    '定义函数,调用
    '显示列名
    With myflexgrid
        .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) = "状态"
        .TextMatrix(0, 9) = "备注"
        .TextMatrix(0, 10) = "类型"
        .TextMatrix(0, 11) = "日期"
        .TextMatrix(0, 12) = "时间"
          
    End With

    With myflexgrid
    Do While Not mrc.EOF

        .Rows = .Rows + 1
        .CellAlignment = 4
        .TextMatrix(.Rows - 1, 0) = Trim(mrc.Fields(1))
        .TextMatrix(.Rows - 1, 1) = Trim(mrc.Fields(2))
        .TextMatrix(.Rows - 1, 2) = Trim(mrc.Fields(0))
        .TextMatrix(.Rows - 1, 3) = Trim(mrc.Fields(7))
        .TextMatrix(.Rows - 1, 4) = Trim(mrc.Fields(4))
        .TextMatrix(.Rows - 1, 5) = Trim(mrc.Fields(5))
        .TextMatrix(.Rows - 1, 6) = Trim(mrc.Fields(6))
        .TextMatrix(.Rows - 1, 7) = Trim(mrc.Fields(3))
        .TextMatrix(.Rows - 1, 8) = Trim(mrc.Fields(10))
        .TextMatrix(.Rows - 1, 9) = Trim(mrc.Fields(8))
        .TextMatrix(.Rows - 1, 10) = mrc.Fields(14)
        .TextMatrix(.Rows - 1, 11) = mrc.Fields(12)
        .TextMatrix(.Rows - 1, 12) = mrc.Fields(13)
        
        mrc.MoveNext
    Loop

    End With
    mrc.Close
End Function</span>
5查询

<span style="font-size:24px;">Private Sub cmdinquire_Click()
    Dim msgText As String
    Dim txtSQL1 As String
    Dim txtSQL2 As String
    Dim txtSQL3 As String
    Dim mrc As ADODB.Recordset
   
    '判断输入是否从新查询
    If myflexgrid.Text <> "" Then
        myflexgrid.Clear
        myflexgrid.Rows = 1
    End If
    
   ' 判断查询条件是否为空
    
   If Not Testtxt(Combo1.Text) Or Not Testtxt(Combo4.Text) Or Not Testtxt(Text1.Text) Then
        MsgBox "请输入查询条件一", vbOKOnly + vbExclamation, "警告"
        Exit Sub
   End If
   
   '却定查询条件一不为空的条件下
    txtSQL1 = "select * from student_Info where " & FieldName(Combo1.Text) & Trim(Combo4.Text) & "'" & Trim(Text1.Text) & "'"
    
    '组合条件一是否为空
 
    If Combo7.Text = "" Then
        Set mrc = ExecuteSQL(txtSQL1, msgText)
        If mrc.EOF = True Then
            MsgBox "此条件没有查询结果", vbOKOnly + vbExclamation, "警告"
            Exit Sub
        Else
            Call ViewData(txtSQL1, mrc)
        End If
    Else
        If Not Testtxt(Combo2.Text) Or Not Testtxt(Combo5.Text) Or Not Testtxt(Text2.Text) Then
            MsgBox "请输入查询条件二", vbOKOnly + vbExclamation, "警告"
            Exit Sub
        End If
        
         txtSQL2 = txtSQL1 & FieldName(Combo7.Text) & " " & FieldName(Combo2.Text) & Trim(Combo5.Text) & "'" & Trim(Text2.Text) & "'"
                       
'组合条件一不为空的条件下组合条件二的判断
    If Combo8.Text = "" Then
        Set mrc = ExecuteSQL(txtSQL2, msgText)
            If mrc.EOF = True Then
                MsgBox "此条件没有查询结果", vbOKOnly + vbExclamation, "警告"
                Exit Sub
            Else
                Call ViewData(txtSQL2, mrc)
            End If
    Else
        If Not Testtxt(Combo3.Text) Or Not Testtxt(Combo6.Text) Or Not Testtxt(Text3.Text) Then
            MsgBox "请输入查询条件三", vbOKOnly + vbExclamation, "警告"
            Exit Sub
        End If
        
        txtSQL3 = txtSQL2 & FieldName(Combo8.Text) & " " & FieldName(Combo3.Text) & Trim(Combo6.Text) & "'" & Trim(Text3.Text) & "'"
         
         Set mrc = ExecuteSQL(txtSQL3, msgText)
         If mrc.EOF = True Then
            MsgBox "此条件没有查询结果", vbOKOnly + vbExclamation, "警告"
            Exit Sub
        Else
            Call ViewData(txtSQL3, mrc)
        End If
    End If
End If

End Sub</span>
6修改

<span style="font-size:24px;">Private Sub cmdmodify_Click()
    If myflexgrid.Row = 0 Then
        MsgBox "请选中学生", vbOKOnly + vbExclamation, "警告"
        Exit Sub
    End If

    SetParent frmmodifyStudentinfo.hWnd, frmstudentbase.hWnd
    frmmodifyStudentinfo.Show
End Sub</span>
理清楚思路之后是不是感觉很简单呀。






版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

机房收费系统(三)—再看组合查询

写在前面: 组合查询顾名思义是多条件查询,可是当我看到有那么多的条件要去选择时,一时头蒙,思路明白,可是不知道该如何去写代码,当看到了师姐的博客,说的是组合查询在学生信息管理系统中就已经用到过,才恍然...
  • lnazj
  • lnazj
  • 2016-07-17 11:44
  • 613

机房收费系统之—组合查询

机房收费系统之组合查询

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

VB.NET+三层 机房收费系统之组合查询

关系组合查询已经用去了4天的时间,每天都在痛苦中煎熬,绞尽脑汁,一句代码都要瞪大眼睛看好长时间,有时候,因为两句话颠倒了,就nothing了;有时候,因为table怎样能够转换成实体类型,将自己困住了...

【机房收费系统】组合查询

组合查询

机房收费系统@组合查询

组合查询真的让我研究了很长时间,从开始没有什么思路到阅读大量的博客,之后形成自己的代码,之后一步步的优化,终于成就了一个自己认为还可以的代码。若有好的建议欢迎指出: '定义变量 Dim txtSQL ...

机房收费系统之八(组合查询)

1.组合查询:涉及的窗体有学生基本信息维护,学生上机记录查询,学生上机统计查询 初次见到组合查询界面,有种似曾相识的感觉。没错,我们在学生信息管理系统里面见过类似的。也可以说我们已经接触过组合查询了。...

机房收费系统——组合查询

机房收费系统中的组合查询也是一大亮点。简单的查询只有一个条件限制,机房收费系统中涉及到的最多的查询条件限制是三个,就一起来揭开他的庐山真面目吧! 【示例界面】        【查询流程】 【函数转...

VB.NET版机房收费系统---组合查询

查询的意思就是查找,寻找,指在某一个或几个地方找出自己所要的信息,假如我想搜索一下我自己写的博客,名字叫做初雪之恋,我在百度的搜索框中输入丁国华三个字,会有怎样的惊喜等着我?             ...

【机房收费系统】VB中的组合查询探索

机房的代码还没开始,就听说组合查询是个困难的玩意。一步三停的走到组合查询窗体之前,还没怎么行动就差点给吓投降了。不过好歹也是做过学生信息管理系统的人了,多少对自己有点自信。不会弄,查呗!

机房收费系统 之 组合查询BUG

声明:以下内容只对在学生上机记录查询(组合查询)只查询已下机记录,操作员工作记录(组合查询)只查询已注销记录的同学适用!        说是BUG,其实这也不是一个BUG,只是一个不小心容易...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)