机房收费系统 之 组合查询

时间:2022-09-16 10:23:32

在前面提到过查询,在这里仔细讲一下机房收费系统里的组合查询,其实组合查询和查询的原理一样,只不过组合查询还比较繁琐一点点。一般的查询会用到一个表,而对于组合查询来说,可能会有用到一个表,也可能用到好几个表的情况。

机房收费系统 之 组合查询

组合查询的这一部分每个人都会有不同的理解,我画的流程图大概就是这个样子。

机房收费系统 之 组合查询

此外,对于查询时输入的条件提示对于我来说也是一个难点,当时我自己按照自己的思路想了一种方法,可是当你进行编码的时候,你就会感觉到原来写起来不像想象中的那么简单。下面是同学告诉我的方法,我感觉这种方法很好,简短而且可以把想要的功能实现了。具体如下

If Combo7.Text = "" Then       'Combo7是第一个组合关系
If Combo1.Text = "" Then
MsgBox "字段不能为空", vbExclamation, "警告"
Exit Sub
ElseIf Combo4.Text = "" Then
MsgBox "操作符不能为空", vbExclamation, "警告"
Exit Sub
ElseIf Text1.Text = "" Then
MsgBox "内容不能为空", vbExclamation, "警告"
Exit Sub
End If
End If

If Combo7.Text <> "" Then
If Combo2.Text = "" Then
MsgBox "字段名不能为空!", vbOKOnly + vbExclamation, "警告"
Exit Sub
ElseIf Combo5.Text = "" Then
MsgBox "操作符不能为空", vbOKOnly + vbExclamation, "警告"
Exit Sub
ElseIf Text2.Text = "" Then
MsgBox "内容不能为空", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
End If

If Combo8.Text <> "" Then 'Combo8是第二个组合关系
If Combo3.Text = "" Then
MsgBox "字段名不能为空!", vbOKOnly + vbExclamation, "警告"
Exit Sub
ElseIf Combo6.Text = "" Then
MsgBox "操作符不能为空!", vbOKOnly + vbExclamation, "警告"
ElseIf Text3.Text = "" Then
MsgBox "内容不能为空!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
End If


当然还有输入1或2或3个条件的时候的查询的限制也是需要思考的,下面以三个条件都输入为例进行说明
If combined1 = True And combined2 = True And (Tiaojian1 <> "" And Tiaojian2 <> "" And Tiaojian3 <> "") Then
txtSQL = "select * from line_info where " & " " & Tiaojian1 & " " & GuanXi1 & " " & Tiaojian2 & " " &

GuanXi2 & " " & Tiaojian3
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = True Then
MsgBox "没有数据!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If