アプリ版:「スタンプのみでお礼する」機能のリリースについて

ADOでNULLのレコードを抽出したいのですがうまくできません。
Q全てクエリには、登録日フィールドや登録数フィールドがあります。
登録数フィールドは数値です。
その登録数フィールドがnullのレコードを抽出したいです。

RS.CursorLocation = adUseClient
RS.Open "Q全て", cn, adOpenKeyset, adLockOptimistic
RS.Sort = "登録日 DESC"

RS.Filter = "[登録数] = NULL"
RS.Filter = "IsNull(登録数) = True"
RS.Filter = "登録数 Is Null"

↑これどれをやってもエラーになります。
対策をお願いします。

A 回答 (2件)

全文を載せてほしいですが、


バタフライ効果というか風が吹けば桶屋が儲かるというか・・
Connection が問題かも。
Set Cn = currentproject.connection

RS.Filter = "[登録数] = NULL"
で出来ました。
>RS.Filter = "登録数 Is Null" はDAOの場合ならOK
>RS.Filter = "IsNull(登録数) = True" はようわからん

なお、
CursorLocation にadUseClient を指定した時点で
RS.Open "Q全て", cn, adOpenKeyset, adLockOptimistic
としていてもCursorType は、adOpenKeyset→adOpenStaticに固定ですね。
イミディエイトウィンドウで、Rs.cursortype で確認してみてください。
蛇足ですが
RS.Open "Q全て", cn
と省略した場合は、adOpenStatic、adLockReadOnly になりました。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2012/12/22 00:56

どこでどのようなエラーが表示されるのかを


示さないとエラー探しを延々としなくてはいけなくなります。


>RS.Open "Q全て", cn, adOpenKeyset, adLockOptimistic



RS.Open "Q全て", cn, adOpenForwardOnly, adLockOptimistic

普通は、

RS.Open "Q全て", cn, adOpenForwardOnly, adLockReadOnly

としますが。
それと、

RS.Filter = "[登録数] = NULL"

でいいのでは、と思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2012/12/22 00:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!