机房收费系统—组合查询
刚开始做组合查询这部分时,特别头疼,不知道怎样去做。后来,慢慢了解了组合查询需要实现什么样的功能,就有了一个大的框架。我就按着自己的框架一步步的去做,一点点的完善它。现在我的组合查询已经竣工了,来讲一下我做组合查询具体是怎样实现的吧!
一、总体构思
二、具体实施
下面我以查询操作员工记录为例,说一下我的组合查询。先来把我的界面展示一下,再把各个控件的小名说一下!
字段名下的三个组合框为:combo1(0)、combo1(1)、combo1(2)
操作符下的三个组合框为:combo2(0)、combo2(1)、combo2(2)
要查询的内容下三个文本框为:text1(0)、text1(1)、text1(2)
组合关系下的两个组合框为:combo3(0)、combo3(1)
查询:cmdinquire 退出:cmdexit
(1)form load 加载项
Private Sub Form_Load() '加载第一层中的字段名 combo1(0).AddItem "教师" combo1(0).AddItem "注册日期" combo1(0).AddItem "注册时间" combo1(0).AddItem "注销日期" combo1(0).AddItem "注销时间" combo1(0).AddItem "机器名" '加载第一层中的操作符 Combo2(0).AddItem "=" Combo2(0).AddItem "<" Combo2(0).AddItem ">" Combo2(0).AddItem "<>" '加载第一层的组合关系 Combo3(0).AddItem "" Combo3(0).AddItem "与" Combo3(0).AddItem "或" '加载第二层中的字段名 combo1(1).AddItem "教师" combo1(1).AddItem "注册日期" combo1(1).AddItem "注册时间" combo1(1).AddItem "注销日期" combo1(1).AddItem "注销时间" combo1(1).AddItem "机器名" '加载第二层中的操作符 Combo2(1).AddItem "=" Combo2(1).AddItem "<" Combo2(1).AddItem ">" Combo2(1).AddItem "<>" '加载第二层的组合关系 Combo3(1).AddItem "" Combo3(1).AddItem "与" Combo3(1).AddItem "或" '加载第三层中的字段名 combo1(2).AddItem "教师" combo1(2).AddItem "注册日期" combo1(2).AddItem "注册时间" combo1(2).AddItem "注销日期" combo1(2).AddItem "注销时间" combo1(2).AddItem "机器名" '加载第一层中的操作符 Combo2(2).AddItem "=" Combo2(2).AddItem "<" Combo2(2).AddItem ">" Combo2(2).AddItem "<>"End Sub
(2)组合关系设计
'判断两个组合关系,只有选择了组合关系,相应的选项才可用Private Sub combo3_Click(Index As Integer) '第一个组合关系不为空时 If Trim(Combo3(0).Text) = "与" Or Trim(Combo3(0).Text) = "或" Then '当第一个选择关系不为空时,第二行选项内容变为可用 combo1(1).Enabled = True Combo2(1).Enabled = True Text1(1).Enabled = True End If '第一个组合关系不为空,同时第二个组合关系不为空 If Not Trim(Combo3(0).Text) = "" Then If Trim(Combo3(1).Text) = "与" Or Trim(Combo3(1).Text) = "或" Then '当两个组合关系都不为空时,第三行选项内容才可用 combo1(2).Enabled = True Combo2(2).Enabled = True Text1(2).Enabled = True End If End If '第一个组合关系为空时,第二层选项均不可用,并且清空 If Trim(Combo3(0).Text) = "" Then combo1(1).Text = "" Combo2(1).Text = "" Text1(1).Text = "" combo1(1).Enabled = False Combo2(1).Enabled = False Text1(1).Enabled = False End If '第二个组合关系为空时,第三层选项均不可用,并且清空 If Trim(Combo3(1).Text) = "" Then combo1(2).Text = "" Combo2(2).Text = "" Text1(2).Text = "" combo1(2).Enabled = False Combo2(2).Enabled = False Text1(2).Enabled = False End IfEnd Sub
(3)三层逻辑计算设计
Public Function filename(strfilename As String) As String Select Case strfilename Case "教师" filename = "head" Case "注册日期" filename = "registration_date" Case "注册时间" filename = "registration_time" Case "注销日期" filename = "cancel_date" Case "注销时间" filename = "cancel_time" Case "机器名" filename = "computer" End SelectEnd Function通过做组合查询这部分,发现自己可以想到如何去实现某个功能,但老是在细节上出现问题。看来还是需要不断地去积累……
- 2楼lfmilaoshi43分钟前
- 组合查询,很重要的学习内容n米老师
- Re: gxq74171861843分钟前
- 不断积累中!
- 1楼jiuqiyuliang6天前 09:14
- 详细讲解
- Re: gxq741718618前天 23:30
- 嗯,学习中!