.Row = .Row + 1
End If
mrc.MoveNext
Loop
End With
If numb = 0 Then
MSF1(0).Visible = True
MSF1(1).Visible = False
MSF1(2).Visible = False
Else
If numb = 2 Then
MSF1(0).Visible = False
MSF1(1).Visible = True
MSF1(2).Visible = True
End If
End If
If MSF1(0).Row = 1 And numb = 0 Then
Call showSEdata(e, s, numb)
End If
If MSF1(1).Row = 1 And numb = 1 Then
Call showSEdata(e, s, numb)
End If
If MSF1(2).Row = 1 And numb = 2 Then
Call showSEdata(e, s, numb)
End If
Set mrc = Nothing
End Sub
Private Sub Cbe_Change()
bcbm = False
Cbm.Text = ""
Cbm.Clear
Cbm.Visible = False
Label5.Visible = False
showtitle 0
MSF1(0).Visible = True
MSF1(1).Visible = False
MSF1(2).Visible = False
Label7.Visible = False
End Sub
Private Sub Cbe_DropDown()
bcbm = False
Cbm.Text = ""
Cbm.Clear
Label7.Visible = False
Cbm.Visible = False
Label5.Visible = False
showtitle 0
MSF1(0).Visible = True
MSF1(1).Visible = False
MSF1(2).Visible = False
End Sub
Private Sub Cbm_DropDown()
' 该过程的作用是当走起始站和终点站没有直达的车时,查找所有的可用来转车的车站名
' 其思路是先扫描整个数据库,把有起始站的车站名的记录存放在MSF1(1)中,把有终点站的车站名的记录存放在MSF1(2)中
' 再扫描整个MSF1(1),对于每一条记录中的每一个车站,再扫描MSF1(2)中的每一条记录,如果该记录中既包含该车站,又包含要查询的终点站,则该车站符合要求
'该算法有一大好处是极大的提高了查询的速度,因为,在扫描整个数据库时,没有内循环。这可是我想了好久才想出来的哟^-^
Label7.Visible = False
If bcbm = False Then
Label6.Caption = "正在搜索中..."
Form1.MousePointer = 11
Cbm.MousePointer = 11
Frame2.MousePointer = 11
Frame1.MousePointer = 11
Dim strs As String
Dim strm As String
Dim bfirst As Boolean
Dim bsec As Boolean
Dim mrc3 As ADODB.Recordset
Set mrc3 = New ADODB.Recordset
Set mrc3 = Adodc1.Recordset
Dim finishst() As String
Dim finnum As Integer
finnum = 0
mrc3.MoveFirst
MSF1(1).Clear
MSF1(2).Clear
Do While Not mrc3.EOF
For i = 1 To NC
strs = Text2(i).Text
Select Case strs
Case ""
Exit For
Case cbs.Text
With MSF1(1)
.Rows = .Rows + 1
For z = 1 To mrc3.Fields.Count
If mrc3.Fields(z - 1) <> "Null" Then
.TextMatrix(.Row, z - 1) = mrc3.Fields(z - 1)
End If
Next
.Row = .Row + 1
&nb