2011年12月16日


ADO を使ったメモリソート

Microsoft のドキュメントでは、255 を越える場合に可変長となると書かれていましたが、どうも違うようです。
' Null で終了する Unicode 文字列を示します (DBTYPE_WSTR)。
Const adWChar = 130

Dim Rs

Set Rs = Wscript.CreateObject("ADODB.Recordset")
' 127 までは固定長として扱われました
' 128 以上は可変長のはずです
Rs.Fields.Append "ソートキー", adWChar,128
Rs.Fields.Append "ソートデータ", adWChar,128
Rs.Open

Rs.AddNew
Rs.Fields("ソートキー").value = "C"
Rs.Fields("ソートデータ").value = "山田"
'Rs.Update : メモリ上なので無くても良いようです

Rs.AddNew
Rs.Fields("ソートキー").value = "A"
Rs.Fields("ソートデータ").value = "田中"
'Rs.Update

Rs.AddNew
Rs.Fields("ソートキー").value = "B"
Rs.Fields("ソートデータ").value = "鈴木"
'Rs.Update

Rs.Sort = "ソートキー"

Rs.MoveFirst

Dim strResult : strResult = ""
Do while not Rs.EOF

	strResult = strResult & Rs.Fields("ソートキー").Value & " : "
	strResult = strResult & Rs.Fields("ソートデータ").Value & vbCrLf

	Rs.MoveNext

Loop

Rs.Close

Wscript.Echo strResult


使用例

ODBC ドライバの列挙

Seesaa のカテゴリをソート(通常と逆順と記事が多い順)する VBScript で記述された IE 拡張


タグ:ADO
posted by at 01:23 | Comment(0) | ADO | このブログの読者になる | 更新情報をチェックする


この記事へのコメント
コメントを書く
お名前:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。