VBScript - Recordset の使い方
VBScript - Recordset の使い方
Recordset には検索結果が格納される。
検索結果へのアクセスは1レコードずつ行う。
現在のレコード位置が、先頭レコードより前にあるなら BOF プロパティが True になる。
最終レコードより後ろにあるなら EOF プロパティが True になる。
現在のレコード位置を変えるには次のメソッドを使う。
- MoveFirst メソッド: レコード位置を先頭レコードに移動
- MoveLast メソッド: レコード位置を最終レコードに移動
- MovePrevious メソッド: レコード位置を一つ前のレコードに移動
- MoveNext メソッド: レコード位置を一つ次のレコードに移動
先頭レコードにあるときに MovePrevious メソッドを実行、または最終レコードにあるときに MoveNext メソッドを実行するとエラーになる。
BOF / EOF プロパティを使って実行を制御すること。
レコード位置の初期値は先頭レコードである。
よって、だいたいのパターンは EOF プロパティと MoveNext メソッドの組み合わせでカバーできるはず。
'最終レコードになるまでループする
Do While Not rst.EOF
'TODO: 検索結果を使った処理を書く
'次のレコードへ移動
rst.MoveNext
Loop
現在のレコードの各カラムには Recordset.Fields でアクセスする。
名前またはインデックスを使ってアクセスできる。
レコードが持つカラムの総数は Recordset.Fields.Count で取得できる。
Fields のインデックスには 0 からの連番が割り振られる。
0 ~ Count プロパティ -1 とすると、すべてのカラムを処理できる。
Do While Not rst.EOF
Dim index
For index = 0 To rst.Fields.Count - 1
WScript.Echo rst.Fields(index).Value
Next
rst.MoveNext
Loop
For Each…Next ステートメントを使ってもよい。
Do While Not rst.EOF
Dim tmp
For Each tmp In rst.Fields
WScript.Echo tmp
Next
rst.MoveNext
Loop
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。
ことりと さんにチップを送りました
チップをありがとうございます。
メッセージは管理画面から確認できます。
酒とアクアリウムが最近の楽しみ。
このクリエイターの人気記事
最新記事
TOPVIEWの人気記事
おすすめの記事
この記事にコメントをしてみませんか?