Dim rs2 As New ADODB.Recordset
Set rs2.ActiveConnection = cnn
rs2.CursorType = adOpenStatic
sqlstring2 = "select * FROM 到達時刻 where '廊坊站'"
rs2.Open sqlstring2
Dim dd(1 To 14) As Date '建立存放到達時刻的陣列
For i = 1 To 14
dd(i) = rs2.Fields("廊坊站")
rs2.MoveNext
Next '廊坊站的到達時刻存入陣列
For m = 1 To 13
For n = m + 1 To 14
If dd(m) > dd(n) Then
t = dd(m)
dd(m) = dd(n)
dd(n) = t
End If
Next
Next '將到達時刻排序
Dim rs3 As New ADODB.Recordset
Set rs3.ActiveConnection = cnn
rs3.CursorType = adOpenStatic
rs3.Open "select 車次 from 到達時刻 where 廊坊站 = dd(1)" '有問題 說是dd無函式定義
checi = rs3("車次").Value
這是我寫的代碼 但是執行時總是說dd函式無定義 我明明定義dd是一個陣列并且賦值了啊??我只是想查詢對應時刻的車次 求助各位大神????
uj5u.com熱心網友回復:
rs3.Open "select 車次 from 到達時刻 where 廊坊站 = dd(1)"修改
rs3.Open "select * from 到達時刻 where 廊坊站 =" & dd(1) &" "
問題所在:1、dd(1)是變數,不能直接放在=后面,而需要以變數形式出現;2、select 車次 from 這個不可以,因為僅僅連接的是車次這個欄位,而《廊坊站》欄位就沒有辦法連接,因此,修改為 * 比較合理;3、不知道你的資料庫是什么資料庫,由于dd(i)陣列是日期型資料,根據資料庫不同,陳述句是不一樣的,這個是SQL 2000 資料庫的連接陳述句;4、實際有些陳述句完全可以省略,例如 Set rs3.ActiveConnection = cnn 與 rs3.CursorType = adOpenStatic,可以用 rs3.Open "select * from 到達時刻 where 廊坊站 =" & dd(1) &" ",cnn,2,2一個陳述句代替
uj5u.com熱心網友回復:
非常謝謝大神 我還有一點問題就是 我用的是access2000資料庫 我按照上面的改了但是現在出現的是“語法錯誤(運算子丟失)” 是怎么回事呢?哪里的問題呢?" & dd(1) &" ",cnn,2,2 還有這個2,2我一直不是很理解,這里的2代表什么呢?uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/79604.html
上一篇:求助改寫個方法
下一篇:vb緊急求助急急急
