机房收费系统之 组合查询

机房收费系统之 组合查询,第1张

概述        近些天来,一致在做机房收费系统,看到那么多的条件, 就头疼。可是没办法,不管如何路还是要继续走的啊。最后通过上网查资料,自己想,终于想出来一个解决办法,这个办法可能不是很好,但是能帮你解决问题。 代码如下: Private Sub Cmdlk_Click() Dim strCf1 As String Dim strCf2 As String Dim s

近些天来,一致在做机房收费系统,看到那么多的条件, 就头疼。可是没办法,不管如何路还是要继续走的啊。最后通过上网查资料,自己想,终于想出来一个解决办法,这个办法可能不是很好,但是能帮你解决问题。

代码如下:

Private Sub Cmdlk_Click()    Dim strCf1 As String    Dim strCf2 As String    Dim strCf3 As String    Dim strcop1 As String    Dim strcop2 As String    Dim strcop3 As String    Dim strCc1 As String    Dim strCc2 As String    Dim strTxtsql As String    Dim strMsgtext As String    Dim rst As ADODB.Recordset    '判断第一个字段选择的那个,并转化为数据库表中字段名    Select Case ComboFIEld1.Text        Case "卡号"            strCf1 = "cardno"                    Case "学号"            strCf1 = "studentno"                    Case "姓名"            strCf1 = "studentname"                    Case "性别"            strCf1 = "sex"                    Case "系别"            strCf1 = "department"                    Case "年级"            strCf1 = "grade"                    Case "班号"            strCf1 = "class"                       End Select        '判断链接条件    Select Case ComboOperator1.Text        Case "="            strcop1 = "="        Case "<"            strcop1 = "<"        Case ">"            strcop1 = ">"        Case "<>"            strcop1 = "<>"                End Select        '判断链接条件是与 或 还是空      空 也很重要    Select Case ComboConnect1.Text        Case "或"            strCc1 = "or"        Case "与"            strCc1 = "and "        Case ""            strCc1 = ""          End Select        '判断第二个字段选择的那个,并转化为数据库表中字段名    Select Case ComboFIEld2.Text             Case "卡号"            strCf2 = "cardno"                    Case "学号"            strCf2 = "studentno"                    Case "姓名"            strCf2 = "studentname"                    Case "性别"            strCf2 = "sex"                    Case "系别"            strCf2 = "department"                    Case "年级"            strCf2 = "grade"                    Case "班号"            strCf2 = "class"    End Select        '判断链接条件    Select Case ComboOperator2.Text        Case "="            strcop2 = "="        Case "<"            strcop2 = "<"        Case ">"            strcop2 = ">"        Case "<>"            strcop2 = "<>"           End Select         '判断链接条件是与 或 还是空      空 也很重要    Select Case ComboConnect2.Text        Case "或"            strCc2 = "or"        Case "与"            strCc2 = "and"        Case ""            strCc2 = ""    End Select        '判断第三个字段选择的那个,并转化为数据库表中字段名    Select Case ComboFIEld3.Text        Case "卡号"            strCf3 = "cardno"                    Case "学号"            strCf3 = "studentno"                    Case "姓名"            strCf3 = "studentname"                    Case "性别"            strCf3 = "sex"                    Case "系别"            strCf3 = "department"                    Case "年级"            strCf3 = "grade"                    Case "班号"            strCf3 = "class"    End Select        '判断链接条件    Select Case ComboOperator3.Text        Case "="            strcop3 = "="        Case "<"            strcop3 = "<"        Case ">"            strcop3 = ">"        Case "<>"            strcop3 = "<>"                End Select        '根据已经选择的执行语句    If ComboConnect1.Text = "" Then        strTxtsql = "select * from student_Info where " & strCf1 & strcop1 & "'" & Trim(TxtLknews1.Text) & "'" '就选择了第一行,即一个条件        Set rst = Executesql(strTxtsql,strMsgtext)    Else        If ComboFIEld2.Text = "" Or ComboOperator2.Text = "" Or TxtLknews2.Text = "" Then            MsgBox "请将字段, *** 作符,查询条件添加完整。",vbOKCancel + vbExclamation,"提示"            ComboFIEld2.SetFocus            Exit Sub        Else                        If ComboConnect2.Text = "" Then                strTxtsql = "select * from student_Info where " & strCf1 & strcop1 & "'" & Trim(TxtLknews1.Text) & "'" & " " & Trim(strCc1) & " " & strCf2 & strcop2 & "'" & Trim(TxtLknews2.Text) & "'" ' 选择了两行, 即有两个条件& " " & Trim(strCc2)  & " " & strCf3 & strcop3 & "'" & Trim(TxtLknews3.Text) & "'"                Set rst = Executesql(strTxtsql,strMsgtext)            Else                If ComboFIEld3.Text = "" Or ComboOperator3.Text = "" Or TxtLknews3.Text = "" Then                    MsgBox "请添加字段","提示"                    ComboFIEld3.SetFocus                    Exit Sub                Else                                strTxtsql = "select * from student_Info where " & strCf1 & strcop1 & "'" & Trim(TxtLknews1.Text) & "'" & " " & Trim(strCc1) & " " & strCf2 & strcop2 & "'" & Trim(TxtLknews2.Text) & "'" & " " & Trim(strCc2) & " " & strCf3 & strcop3 & "'" & Trim(TxtLknews3.Text) & "'"      '选择了三行, 即有三个条件一起执行                Set rst = Executesql(strTxtsql,strMsgtext)                End If            End If        End If    End If                  '将数据库种的数据写到控件表中    With myflexGrID        .Rows = 1        .Clear        .CellAlignment = 4        .TextMatrix(0,0) = "卡号"        .TextMatrix(0,1) = "学号"        .TextMatrix(0,2) = "姓名"        .TextMatrix(0,3) = "性别"        .TextMatrix(0,4) = "系别"        .TextMatrix(0,5) = "年级"        .TextMatrix(0,6) = "班级"                        do while Not rst.EOF            .Rows = .Rows + 1            .CellAlignment = 4            .TextMatrix(.Rows - 1,0) = rst!cardno            .TextMatrix(.Rows - 1,1) = rst!studentno            .TextMatrix(.Rows - 1,2) = rst!studentname            .TextMatrix(.Rows - 1,3) = rst!sex            .TextMatrix(.Rows - 1,4) = rst!department            .TextMatrix(.Rows - 1,5) = rst!grade            .TextMatrix(.Rows - 1,6) = rst!Class            rst.MoveNext        Loop        rst.Close    End With    End Sub
我不知道如何将它封装成一个函数,如果哪位高手知道,还请指点一下!
总结

以上是内存溢出为你收集整理的机房收费系统之 组合查询全部内容,希望文章能够帮你解决机房收费系统之 组合查询所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1277675.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存