前提:
组合查询的思路需要理清,在理清思路的同时,按照先英的想法去执行
一、流程图 思路
1.用selectcase进行文字转换
Select Case n
Case Text1.Text = "卡号"
b = "cardno"
Case Text1.Text = "姓名"
b = studentName
Case Text1.Text = "上机日期"
b = ondate
Case Text1.Text = "上机时间"
b = ontime
Case Text1.Text = "下机日期"
b = offdate
Case Text1.Text = "下机时间"
b = offtime
Case Text1.Text = "消费金额"
b = consume
Case Text1.Text = "余额"
b = cash
Case Else
End Select
</span>
2.利用 if ···then···
<pre name="code" class="vb"><pre name="code" class="vb">If Combo7.Text = "与" Then
one = "and "
ElseIf Combo7.Text = "或" Then
one = "or "
Else
one = ""
End If
If Combo8.Text = "与" Then
two = "and "
ElseIf Combo8.Text = "或" Then
two = "or "
Else
two = ""
End If
3..combo 显示
(1)利用循环,在模块中创建一个 function
Private Sub Form_Load()
a(0) = "卡号"
a(1) = "姓名"
a(2) = "上机日期"
a(3) = "上机时间"
a(4) = "下机日期"
a(5) = "下机时间"
a(6) = "消费金额"
a(7) = "余额"
Call Combo(Me)
(2)
相应窗体
Public Function Combo(Nam)
For i = 0 To 7
Nam.Combo1.AddItem a(i)
Nam.Combo2.AddItem a(i)
Nam.Combo3.AddItem a(i)
Next
End Function
4.查询(最基本的运行) 在最一开始调试的时候 使用的 b 可以直接用 cardno 之列的数据库中有的表示。后来发现要与combox 里的内容相对应所以需要select case 如前面所写的代码
'任务二:查询
if one= "" then
<span style="white-space:pre"> </span>txtSQL = "select * from line_Info where " & b & combo4.Text & Trim(Text1.Text) & "' "
<span style="white-space:pre"> </span>Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF Then
MsgBox "没有信息", vbOKOnly + vbExclamation, "提示"
end if
elseif two =""then
<span style="white-space:pre"> </span><pre name="code" class="vb"><span style="white-space:pre"> </span>txtSQL =txtSQL & one & c & Combo5.Text & "'" & Trim(Text2.Text) & "' "
<span style="white-space:pre"> </span> Set mrc = ExecuteSQL(txtSQL, MsgText)
<span style="white-space:pre"> </span>
If mrc.EOF Then
MsgBox "没有信息", vbOKOnly + vbExclamation, "提示"
<span style="white-space:pre"> </span>end if
Else
<pre name="code" class="vb"><span style="white-space:pre"> </span>txtSQL =txtSQL & two & d & Combo6.Text & "'" & Trim(Text2.Text) & "'"
<span> </span> <span style="white-space:pre"> </span>Set mrc = ExecuteSQL(txtSQL, MsgText)
<span> </span>
If mrc.EOF Then
MsgBox "没有信息", vbOKOnly + vbExclamation, "提示"<span style="font-family: Arial, Helvetica, sans-serif;">End If</span>
End IfEnd If
总结:
每一个窗体里都会有很多不一样的东西慢慢学习,在敲这个窗体的时候对vb的知识的整体运用,才会发现自己的vb学的水平,机房是一个进步,也是一个复习。