質問です。
現在、accessにて不一致クエリを使用し、テーブルAをチェックし、
マスタテーブルに無い情報が書かれてしまっているフィールドがある場合
抽出して確認をする、というクエリを作りたいと考えています。
不一致クエリにて自動で入る「is null」を使用すると
マスタテーブルに無い事が書いてあるレコードは抽出するのですが
(逆になぜis nullで相違するレコードが抽出されるのか理解に苦しんでもいるのですが)
is nullですので、nullのレコードも抽出されてしまいます。
抽出条件として、マスタテーブルと相違するもの&nullは抽出しない、としたいのですがお知恵を拝借出来ませんでしょうか。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
私は不一致クエリウィザードって使ったことないので、以下想像が入っています。
まず、なぜ「is null」かという話であれば、これはまさに、相手のレコードがないものを探しているからです。
テーブルAフィールド1の内容と、テーブルBフィールド1の内容を比べるとします。次にこれでたとえば「テーブルAのすべてのレコードと・・・・」というクエリを作るとします(つまりクエリビルダでみると矢印でフィールドをつなぐやりかた)。テーブルAのすべてのレコードが表示されますが、テーブルBに該当するレコードがなければ、そのテーブルBのフィールドがNullで返ってきます。
そのNullのレコードを探すから、「is null」の条件が入ります。
次にもともとNullのレコードは除外したいというのであれば、いくつか方法があります。
まず、その不一致クエリにテーブルをそのまま使わずに、テーブルから当該フィールドの値がNullであるレコードを除外するクエリで不一致クエリをつくることです。ですから2段階にクエリを作ることになります
あるいは、もとのテーブルで、Nullを別の値に置き換えてしまうのものひとつの手です。何かの文字や数値で都合が悪ければempty値にしておけばいいでしょう。以後の入力でもNullを許さないような入力画面を作るとなおよいわけです。
または、IsNullの評価を別のフィールドでするとか。主キーのように必ず値をもっているフィールドがあれば、そこでIsNullの評価をすれば、もともとNullということはないですね。
わかりやすい回答ありがとうございました。
(1)is nullはフィールドではなく、「戻り値」がnullであるかどうかを判定
(2)要件を満たすにはクエリを2種使い分ければ良い
このお答えのおかげで、nullフィールドを含んだクエリから
さらにis not nullで絞り込めば良いという回答に行き当たりました。
残念ながらフィールドにはnullにemptyや0といった代替文字列を使用出来ませんでしたので以上の段階式の仕様で行くことにします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) accessの日付フィールドから前年度だけを取り出したい 3 2022/04/13 23:13
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
ACCESS 複数テーブル・複数フィールドを参照する不一致クエリ
Access(アクセス)
-
<ACCESS>別テーブルのレコードのテキストデータが中に含まれるレコードを抽出する方法を教えてください
Access(アクセス)
-
-
4
【access】複数のフィールドの不一致クエリ
Visual Basic(VBA)
-
5
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
6
選択クエリを基に不一致クエリを作成したけれど...
Access(アクセス)
-
7
OR関数
その他(Microsoft Office)
-
8
Access:値が求めたい値の2倍3倍4倍になってしまいます。
その他(データベース)
-
9
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
10
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのフィールド数が255しか...
-
Accessでテーブルの値をテキス...
-
accessで重複を防ぎたい
-
ACCESSでの改行コード
-
アクセス エラーを数値「0」に...
-
Accessで別途保存の画像ファイ...
-
ACCESSで400以上のフィールドが...
-
フィールド数の多すぎる・フィ...
-
Access 昇順・降順で並び替え...
-
アクセスのテーブルデータをCSV...
-
ACCESSでテーブルのフィールド...
-
【Access】フォームで自動計算...
-
Accessで、固定アルファベット+...
-
INSERT INTO ステートメントに...
-
ACCESS2000「定義されているフ...
-
アクセス VBAで列の入れ替...
-
ACCESS 入力文字数制限
-
アクセス A列コピー B列貼り...
-
主キーはオートナンバー型のID...
-
ACCESS VBAにてCSV...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブルの値をテキス...
-
Accessのフィールド数が255しか...
-
ACCESSで400以上のフィールドが...
-
INSERT INTO ステートメントに...
-
【Access】フォームで自動計算...
-
IT用語について質問です。 以前...
-
アクセス エラーを数値「0」に...
-
SQLServer2005のSQL文での別名...
-
ACCESSでの改行コード
-
accessで重複を防ぎたい
-
ExcelのデータをコピーでACCESS...
-
accessのレポートで元になるテ...
-
ACCESSで和暦を西暦に・・・
-
Accessで、固定アルファベット+...
-
アクセス VBAで列の入れ替...
-
アクセス メモ型 255文字...
-
ACCESSでテーブルのフィールド...
-
Access 昇順・降順で並び替え...
-
ACCESS検索★ある文字を複数のフ...
-
アクセスでオートナンバーをリ...
おすすめ情報