
フォームにいくつかの抽出条件を指定するためのテキストボックスをセットし、そこに入力されたデータをクエリの抽出条件に挿入しデータ抽出を行っておりますが、たとえば販売期間でデータを抽出するために、クエリの抽出条件に
Between [Forms]![フォーム名]![売上日FROM] And [Forms]![フォーム名]![売上日TO]と入力しているのですが、テキストボックスに指定日付が入っていれば問題なく抽出できるのですが、販売期間の指定なしの場合、売上日from及び売上日TOがNULLとなるためか抽出結果がゼロ件になってしまいます。
期間指定なしの場合でも抽出ができるようにするためにはどのように記述すればよいか教えてください。よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
nz関数でNullだった場合の値を設定できます。
例:
Between nz([Forms]![フォーム名]![売上日FROM],"100/1/1") And nz([Forms]![フォーム名]![売上日TO],"9999/12/31")
No.2
- 回答日時:
例えば、クエリを次のようにすれば抽出は可能です。
SELECT Table1.ID, Table1.売上日
FROM Table1
WHERE (((Table1.売上日)
Between
NZ([Forms]![フォーム1]![売上日_FROM],"1900/01/01")
And
NZ([Forms]![フォーム1]![売上日_TO],"2100/12/31")));
が、これでは、販売期間に対応していません。
SELECT Table1.ID, Table1.売上日
FROM Table1
WHERE (((Table1.売上日)
Between
NZ([Forms]![フォーム1]![売上日_FROM],DLookUp("販売期間_開始日","各種設定"))
And
NZ([Forms]![フォーム1]![売上日_TO],DLookUp("販売期間_終了日","各種設定"))));
と、販売期間をクエリに教える必要があります。
さて、ここまでくると全体のシステム設計の問題でクエリだけの問題ではありません。
また、クエリでヌル値をNZ関数を利用して置換するというのも通常のやり方ではありません。
フォームで、ヌル値対策をしていれば済む話かと思います。
Private Sub Form_Current()
Me.売上日_TO = DLookup("販売期間_終了日", "各種設定")
End Sub
Private Sub 売上日_TO_AfterUpdate()
If Len(Me.売上日_TO & "") = 0 Then
Me.売上日_TO = DLookup("販売期間_終了日", "各種設定")
End If
End Sub
これは、どれが正解という訳にはいかない質問ですね。
が、いずれにしろ、開発もいよいよ本格化してきた証拠です。
頑張って下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) accessの日付フィールドから前年度だけを取り出したい 3 2022/04/13 23:13
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AccessでIDを入力したら他の項...
-
ACCESSでVBAから選択クエリの抽...
-
AccessのフォームをExcelに出力
-
ACCESSで、EXCELのような、sumi...
-
アクセス2003のカレンダー...
-
Accessの使い方
-
アクセス2007 フォームフィル...
-
ADOレコードセットのコピー
-
(続き)accessでの2段階クエリの...
-
アクセス2007 フォームでフィ...
-
ACCESS_検索
-
フォームからクエリの抽出期間...
-
access2000でデータの抽出をす...
-
クエリーの結果をフォームに表...
-
Accessクエリの抽出条件にフォ...
-
ACCESSのフォームでボタンを押...
-
Accessで月ごとのレポートを出...
-
VarChar型をINT型に変換するには
-
ACCESS2003のグループ化のエラ...
-
エクセルで、抽出したデータだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでVBAから選択クエリの抽...
-
AccessでIDを入力したら他の項...
-
クエリ実行結果0件の場合のフ...
-
ACCESSで、EXCELのような、sumi...
-
ACCESS2007 マクロ クエリのパ...
-
Accessでフィルタの実行アクシ...
-
Access 抽出したフォームをフ...
-
ACCESS2003のグループ化のエラ...
-
アクセスのフォームに連番を表...
-
フォーム上でレコードを抽出し...
-
access クエリでIIF文で抽出条...
-
AccessでログインIDを抽出条件...
-
ACCESSで、フォームで抽出した...
-
フォームからクエリの抽出期間...
-
Access 抽出したデーターの詳細...
-
ACCESSあいまい検索から入力まで
-
アクセス2003のカレンダー...
-
クエリーの結果をフォームに表...
-
ADOレコードセットのコピー
-
ACCESS2000 抽出されたレコー...
おすすめ情報