使用多个Combo和Text对数据库进行选择
对于“机房收费系统”,听说这个需要自己敲,没有了源代码的参照,最开始还是心里没底,给自己了许多问好“?”……
拿到“机房收费系统”,毫无疑问,从头到尾点它一遍,看看这神马。通过前面的“学习信息管理系统”,发现它们相似度这么大!瞬间信心来了。
既然有这么多的相同的地方,那就先挑软柿子捏。等捏得不起劲了,再弄点不一样的来挑战一下,以求得提升。这是前人给我们留下的丰富经验,也是提高班学习法宝。
下面是一点小挑战,正是这些挑战,让我兴奋,让我困苦,让我欢快,让我狂热!
<上面仅是引文,与标题无关>
下面进入主题:
先来看看
一个窗体,相信看了之后,部分就都不用说明了。
下面为模块内的
代码
Public Function DB() As String 'DB:Datebase '在第1个列表表框中,设置所调用的数据库表 Select Case frmupstuseskim.Combo1.ListIndex Case 0 DB = "cardno " Case 1 DB = "studentName " Case 2 DB = "ondate " Case 3 DB = "ontime " Case 4 DB = "computer " End Select End Function Public Function RLT() As String 'RLT:Relation '在第2个列表框中,设置数据表中数据项与输入框中内容的关系 Select Case frmupstuseskim.Combo4.ListIndex Case 0 RLT = "=" Case 1 RLT = "<" Case 2 RLT = ">" Case 3 RLT = "<>" End Select End Function Public Function CNT1() As String 'CNT:Connect '设置上一条查询语句与下一条查询语句间的关系 Select Case frmupstuseskim.Combo7.ListIndex Case 0 CNT1 = "and" Case 1 CNT1 = "or" End Select End Function Public Function CNT2() As String 'CNT:Connect '设置上一条查询语句与下一条查询语句间的关系 Select Case frmupstuseskim.Combo8.ListIndex Case 0 CNT2 = "and" Case 1 CNT2 = "or" End Select End Function
下面则是frmUpStuseSkim,其中的空文本判断及数据类型判断省略。
txtSQL = "select * from OnLine_Info where "
If Combo1.Text <> "" Then
'对查询语句完整性进行判断
If Combo4.Text <> "" Then
End If
If Text1.Text <> "" Then
End If
txtSQL = txtSQL & DB & RLT & Text1.Text '调用模块2
End If
If Combo7.Text <> "" Then '对上下数据查询语句关系 是否选择的判断
'对查询语句完整性进行判断
If Combo2.Text <> "" Then
End If
If CNT1 = 0 Then
txtSQL = txtSQL & " or " & DB & RLT & Text2.Text '调用模块2
ElseIf CNT1 = 1 Then
txtSQL = txtSQL & " and " & DB & RLT & Text2.Text '调用模块2
End If
End If
If Combo8.Text <> "" Then '对上下数据查询语句关系 是否选择的判断
'对查询语句完整性进行判断
If Combo3.Text <> "" Then
End If
If Combo6.Text <> "" Then
End If
If Text3.Text <> "" Then
End If
If CNT2 = 0 Then
txtSQL = txtSQL & " or " & DB & RLT & Text3.Text '调用模块2
ElseIf CNT2 = 1 Then
txtSQL = txtSQL & " and " & DB & RLT & Text3.Text '调用模块2
End If
End If
Set mrc = ExecuteSQL(txtSQL, Msgtext) '链接以上所指定的数据库内数据
总结:为了减省相同代码的赘余,在完成该窗体时部分功能我们最好使用模块窗体。作为公共调用。使用模块,即减少了代码的输入量,也降低了代码的出错率。在模块的设计之初,可能需要进行一些通用性考虑,这也是必然的。但一旦设计好,就会为以后奠定很好的基础,就可以做到事半功倍。