
Access 2003です。
[Start Date], [End Date]を入力するフォームで日付が入力されていなければ、
iif([Start Date] is null,<[End Date],>[Start Date])
のようにクエリ条件を設定したいのですが、
iif [Start Date] is null
を使うと、続く条件の中で<>がうまく働かないという現象が起きます。
(クエリでなにも抽出されない)
iif([Start Date] is nullの条件を入れなければ(つまり[Start Date],[End Date]はブランクにならないという前提ならば)
1. >[Start Date]
2. <[End Date]
3. Between [Start Date] And [End Date]
などどれも問題なく動きますし、
iif([Start Date] is null~の条件を入れても続く条件の中で<>を使わなければ
iif([Start Date] is null,[End Date],[Start Date])
はちゃんと動きます。
どうしてこのような現象が起こるのか、また回避する方法をご存知のかたがいらっしゃいましたら、どうぞご教示ください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
回避方法については回答出てますので、どうしてこのような現象が起こるのか、について。
クエリのデザインビューの抽出条件では、式の左辺を省略しますが、実際のSQL文に直した場合、自動的に左辺が追加されます。
例えば、あるフィールド([A]とします)の条件が下記だった場合、
>[Start Date]
実際のSQL文での条件は、左辺が追加され、下記の様になります。
WHERE [A] > [Start Date]
抽出条件が質問の式だった場合、
iif([Start Date] is null,<[End Date],>[Start Date])
実際の条件式は下記の様になります。
WHERE [A]=iif([Start Date] is null,[A]<[End Date],[A]>[Start Date])
[Start Date]がnullだった場合、
WHERE [A]=([A]<[End Date])
と評価され、期待通りの結果とはなりません。
クエリのデザインビューは便利ですが、万能ではありません。
(全てのSQL文を表現できる訳ではない)
クエリの実体はSQL文です。複雑なクエリの場合、SQL文についての知識が必要になってきます。
興味があれば、SQL文について勉強してみて下さい。
はー、なるほど。
確かにSQLでみるとおっしゃるようなクエリになってます。
デザインビューは万能ではないんですね。
とても参考になりましたし、これから自分でも調べてみようと思います。
たいへん分かりやすい解説どうもありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- 英語 イベントの本番開始前の受付開始時間は英語でなんといいますか? 1 2023/03/26 15:15
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- 英語 to date 2 2023/05/23 23:22
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- Excel(エクセル) マクロで行を追加、削除すると行位置がずれますが、解決方法はありませんか?。 5 2022/05/28 16:03
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
Accessで値がnullの場合は計算せずにnullをかえす方法
Access(アクセス)
-
-
4
クエリで日付型のIIF関数の使用
Access(アクセス)
-
5
ACCESSのクエリー抽出条件にIIFを使用して
Access(アクセス)
-
6
IIF関数の使い方
Visual Basic(VBA)
-
7
アクセス2000 クエリ抽出でBetweenを記述したところ・・
Access(アクセス)
-
8
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
9
access クエリ yes/no型のクエリの抽出の記述を教えて下さい。
Access(アクセス)
-
10
アクセス97のVBAで日付項目をヌルにする方法
その他(データベース)
-
11
Access チェックボックスを利用した絞込検索のクエリ記述
その他(Microsoft Office)
-
12
Access DCountでの連番について
Access(アクセス)
-
13
(ACCESS)条件に応じて、テキストボックスを表示・非表示設定
その他(データベース)
-
14
ACCESS クエリで1から順番に番号を表示したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで「式で型が一致しません...
-
ACCESSのクエリで抽出条件「ま...
-
ACCESS クエリの抽出条件に他の...
-
ACCESSの時間帯の抽出について
-
ACCESS 「パラメータの入力」...
-
ACCESS クエリで”1”でないもの...
-
accessの日付フィールドから前...
-
セルから不要な記号を消して編...
-
元データから連続5日以上だった...
-
ACCESS クエリの抽出条件を動的...
-
エクセル2010の統計作業(フィ...
-
Access 誕生月データの抽出
-
accessで閲覧用フォームを作成
-
アクセス・クエリの抽出条件(...
-
アクセス2000で、DBの0と空白以...
-
【Access2003】
-
access クエリの抽出条件を入れ...
-
ACCESS 特定の月間の抽出について
-
Access テーブルを分割してエク...
-
クエリのデータから複数条件抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS クエリの抽出条件に他の...
-
ACCESSのクエリで抽出条件「ま...
-
Access テーブルを分割してエク...
-
ACCESS 「パラメータの入力」...
-
ACCESSの時間帯の抽出について
-
エクセルのマクロで検索・抽出...
-
accessの日付フィールドから前...
-
アクセス・クエリの抽出条件(...
-
Accessで「式で型が一致しません...
-
元データから連続5日以上だった...
-
PCゲームから音声ファイルを抽...
-
クエリの進行状況を知りたい。
-
ACCESS クエリで”1”でないもの...
-
Accessクエリーでチェックボッ...
-
ACCESS クエリの抽出条件を動的...
-
アクセスでの抽出方法(日付+時...
-
ACCESS Dateadd関数による日付...
-
access クエリの抽出条件を入れ...
-
Accessで任意のテーブルのフィ...
-
ACCESSのクエリで集計
おすすめ情報