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

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

前言:

     组合查询窗体一共有三个,都是在操作员的菜单中:

     学生基本信息维护、学生上机统计信息、操作员工作记录

 

过程:

     开始在敲组合查询窗体的时候,总是感觉很乱,后来师父建议把流程图画下来,然后再写代码

果然就有思路了,尽管还是改了几次。

     画的流程图有很多种思路,我就用了两种,但是还是感觉第一种流程图的方法比较严密,尽管代码很多。

第一种思路:

由三个条件切入

流程图:


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


第二种思路:

由两个连接符切入

流程图:


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


二者的代码大同小异:

关键代码:

                    If Trim(Namecombo3.Text) = "" Or Trim(Actcombo3.Text) = "" Or Trim(Text3.Text = "") Then
'提示条件
MsgBox "请选择查询条件!"
Exit Sub
Else
'第三行有条件
'执行一二三行查询
txtSQL3 = "select * From line_Info where " & FieldName(Namecombo1.Text) & Actcombo1.Text & "'" & Trim(Text1.Text) & "'" & FieldName(Combinecombo1.Text) & FieldName(Namecombo2.Text) & Actcombo2.Text & "'" & Trim(Text2.Text) & "'" & FieldName(Combinecombo2.Text) & FieldName(Namecombo3.Text) & Actcombo3.Text & "'" & Trim(Text3.Text) & "'"
Set mrc3 = ExecuteSQL(txtSQL3, Msgtext3)
If mrc3.EOF Then
MsgBox "没有记录!", vbOKOnly + vbExclamation, "提示"
Exit Sub
End If

'判断是否移动到数据集对象的最后一条记录
Do While Not mrc3.EOF
.CellAlignment = 1
.TextMatrix(.Rows - 1, 0) = Trim(mrc3.Fields(1))
.TextMatrix(.Rows - 1, 1) = Trim(mrc3.Fields(3))
.TextMatrix(.Rows - 1, 2) = Trim(mrc3.Fields(6))
.TextMatrix(.Rows - 1, 3) = Trim(mrc3.Fields(7))
.TextMatrix(.Rows - 1, 4) = Trim(mrc3.Fields(8))
.TextMatrix(.Rows - 1, 5) = Trim(mrc3.Fields(9))
.TextMatrix(.Rows - 1, 6) = Trim(mrc3.Fields(11))
.TextMatrix(.Rows - 1, 7) = Trim(mrc3.Fields(12))
.TextMatrix(.Rows - 1, 8) = Trim(mrc3.Fields(13))
'移动到下一条记录
mrc3.MoveNext
.Rows = .Rows + 1 '预留空间给下一条记录
Loop
.Rows = .Rows - 1 '将最后增加的空行删除
Exit Sub
End If

小结:

       组合窗体的流程图要考虑的周全,但如果考虑不到也可以在调试的过程中完善,有了流程图,代码就不是问题了!