Microsoft Access

このエントリーをはてなブックマークに追加
ADO の Recordset である GUID を持つ行をフィルタしたいときにはどうすればいいんでしょうか?

Dim rs As ADODB.Recordset
<このへんで rs を初期化>
rs.Filter = "s_GUID = {F4BB253E-DACA-47C7-86F5-1E701AA65C96}"
これだとぜんぜん抽出されないんですよ…

rs.Filter = "s_GUID = {guid {{F4BB253E-DACA-47C7-86F5-1E701AA65C96}}"

でもダメみたい…

ちなみに、あんまりこの件とは関係ありませんが、
整数型は 16bit 長整数型は 32bit レプリケーションIDは 128bit ですが、
VBA の Integer がたでは所詮 32bit までしかあらわせません。
なので VBA ではレプリケーションIDなどの GUID は 16 バイトの配列で表します。

Dim s as String
s = "{F4BB253E-DACA-47C7-86F5-1E701AA65C96}"
Dim a() as Byte
a() = GUIDFromString(s)