组合查询

来源:互联网 发布:淘宝托管运营 编辑:程序博客网 时间:2024/05/22 11:56


      当看到机房程序的时候,感觉就是无从下手。多亏有博客呀!看了大家的博客,才知道怎么回事!博客真的是一个强大的工具。

      看了好几篇关于组合查询的博客。感觉大家写的非常好!也有看不懂的,我敲得组合查询没有使用布尔值。

      首先定义数组,用于简化,数据库属性。

      进入判断,首先判断第一行条件是否填写完整!然后再判断第一个逻辑符号。如果为空直接直接查询第一行条件,如果没有,判断第二个逻辑符合是否为空,并且查询第二行是否为空。如果第二个逻辑符合为空则,查询两行条件。如果第二个逻辑符合不为空,判断第三行条件是否为空,进行三行条件查询!

   '一共分4种情况
  '首先将数据库属性赋值简化
  Dim i As Integer '做为循环赋值combol
  Dim j As Integer '做为循环赋值combo3
  '赋值数组
 学生基本信息维护

  '一共分4种情况  '首先将数据库属性赋值简化  Dim i As Integer '做为循环赋值combol  Dim j As Integer '做为循环赋值combo3  '赋值数组  Dim str1(3)  '对应combo1  Dim str3(2)  '对于combo3        For i = 0 To 2       Select Case Combo1(i).Text         Case "卡号"         str1(i) = "cardno"         Case "学号"         str1(i) = "studentNo"         Case "姓名"         str1(i) = "studentName"         Case "性别"         str1(i) = "sex"          Case "系别"         str1(i) = "department"          Case "年级"         str1(i) = "grade"          Case "班级"         str1(i) = "class"       End Select      Next i      '对于combo3      For j = 0 To 1        Select Case Combo3(j).Text          Case "与"          str3(j) = "and "          Case "或"          str3(j) = "or"        End Select      Next j            Dim txtSQL As String      Dim Msgtext As String            txtSQL = "select * from student_Info where "            '第一步先判断第一行是否为空      If Combo1(0).Text = "" Or Combo2(0).Text = "" Or Text1.Text = "" Then         MsgBox "请将第一行内容填写完整!", vbOKOnly + vbExclamation, "警告"         Exit Sub      End If            '全部判断,判断是否选择第一个combo3      If Combo3(0).Text <> "" Then       '如果判断combo3(0)不为空,在判断             If Combo1(1).Text = "" Or Combo2(1).Text = "" Or Text2.Text = "" Then               MsgBox "请将第二行填写完整!", vbOKOnly + vbExclamation, "警告!"             Exit Sub             Else              '在判断第二个逻辑关系               If Combo3(1).Text <> "" Then                 '进行下一轮判断                 If Combo1(2).Text = "" Or Combo2(2).Text = "" Or Text3.Text = "" Then                   MsgBox "请将第三行条件填写完整", vbOKOnly + vbExclamation, "警告!"                 Exit Sub                 Else                   '查询三行条件                    txtSQL = txtSQL & str1(0) & Combo2(0).Text & "'" & Trim(Text1.Text) & " ' "                    txtSQL = txtSQL & str3(0) & " " & str1(1) & Trim(Combo2(1).Text) & "'" & Trim(Text2.Text) & " ' "                    txtSQL = txtSQL & str3(1) & " " & str1(2) & Trim(Combo2(2).Text) & "'" & Trim(Text3.Text) & " ' "                       Set mrc = ExecuteSQL(txtSQL, Msgtext)                       Call vieWdate   '定义函数用于表格                 End If               Else                                txtSQL = txtSQL & str1(0) & Combo2(0).Text & "'" & Trim(Text1.Text) & " ' "                txtSQL = txtSQL & str3(0) & " " & str1(1) & Trim(Combo2(1).Text) & "'" & Trim(Text2.Text) & " ' "                 Set mrc = ExecuteSQL(txtSQL, Msgtext)                    Call vieWdate               End If            End If      Else      txtSQL = txtSQL & str1(0) & Combo2(0).Text & "'" & Trim(Text1.Text) & " ' "      Set mrc = ExecuteSQL(txtSQL, Msgtext)              Call vieWdate       End If        '运行MSHFlexGrid1表

 
  

1 0
原创粉丝点击