机房收费系统(二)——组合查询
一个组合查询做了两天,也纠结了两天,现在就晒晒这两天的经历吧。刚看到这个窗体,觉得很复杂,比起学生信息管理系统中的那个组合查询复杂多了,于是就选择最后做这个窗体。
首先说说刚开始我使用的方式:
先对字段名、操作符、查询内容进行选择,然后再看组合关系,想着依照此窗体的操作顺序来进行代码的书写,可是到了最后,却发现一个问题,第一个组合查询做出来了,但是其他的组合查询虽然也能做出来,但是其代码量大,重复多,并且循环关系复杂,没有新意。这让我很是郁闷,也就放弃了按照窗体操作顺序来进行代码的书写。
现在使用的方式:
后来听另一个朋友的讲解,我有了新思路。
以组合关系作为判断依据,将SQL语句分为三类:
第一类:如果没有选择组合关系;
第二类:只选择了一个组合关系;
第三类:两个组合关系均选择。
如果选择了第一个组合关系,则blnjudge1=true,如果选择了第二个组合关系,则blnjudge2=true。
然后再拼接SQL语句,这样就比前面那种方法简单多了。
具体代码如下:
Sub viewData() With MSFlexGrid1 .Rows = 1 .Cols = 10 .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) = "状态" .TextMatrix(0, 9) = "备注" End WithEnd Sub