2016-07-11 4 views
0

現在、私はMS-Access 2010のプロジェクトで作業しており、何時間も問題を抱えています。 SELECT/PIVOT文にフィルタを適用したいと思います。そのクエリの結果はListBoxに表示されます。クエリのComboboxフィルタが動作しない間にNull(フォームのみ)

問題は、ComboboxがNullに設定されているときに結果が表示されないことです。しかし、私がそのコンボボックスで特定の値を選択すると、それは完全に機能します。

WHERE (Jobs.fk_group=[Formulaires]![frm_MAIN]![lst_filterGroup] AND (fk_otherCritera='XXX')) 
    OR ((([Formulaires]![frm_MAIN]![lst_filterGroup]) Is Null) AND (fk_otherCritera='XXX')) 
  • 私は手動でパラメータの値を入力しながら、クエリワークス:

    • はCbboxフィルタは、パラメータ
    • 句は次のようになります私のクエリとして宣言されています(=空の文字列を入力すると、すべてのレコードが表示されます=私が望むもの)
    • Idkならばntだけでなく、私は別のCbboxに応じて動的にそのrecordsourceをスワップする(= 2つの異なるクエリを実行する)
    • MyListview.Requery呼び出しとIsNull(myCbboxReference)の直前にパラメータ値をチェックしました。真と私の他の基準もOKです。

    私は私が間違ってやったのか見当もつかない、私はメインテーブル内のすべてのレコードを表示するためのコンボボックスに特別な値を使用することをお勧めします

    敬具、LR

答えて

0

:-(助けが必要空のコンボボックスが""でなくNullではないため、おそらくクエリが機能しません。コントロール/パラメータへの参照に基づくクエリには注意が必要です。 :tのデータにフィルタを適用する場合このような種類の参照を持つクエリに基づいて、Requery中にコントロール/パラメータから新しい値の読み取りを停止します。少なくともデータシートモードのサブフォームには表示されます。このバグの回避策 - 参照の代わりに関数を使う

+0

ありがとうございます.Nz(CbboxRef)= ""の代わりにNullを入れても本当にありがとうございます:)また、 "参照の代わりに関数を使用する"とはどういう意味ですか?コントロールにアクセスするためのゲッター関数をモジュールに置くことを意味しますか?私はちょうど理解したいと思っている – LostReality

+0

はい、あなたは機能について正しい。 –

関連する問題