Microsoft Access 掲示板

クエリウィザードで他のレコードを参照する新規のフィールドを作りたい

8 コメント
views
4 フォロー

A、B、C、Dという4種類のフィールド(カラム名)があるテーブルをもとに、
デザインビューで下記のような条件を満たすXという新規のフィールドを追加したクエリを作ろうと考えているのですがどのようにすれば良いかわかりません。

新規フィールドXは、Bの値が空白でなく、かつ、Cの値が空白でない場合にはCの値を、そうでない場合はDの値が表示される。

そもそも新規フィールドの名前の付け方も分からず(デザインビューで名前を入力しても「式1」としか表記されない)困っています。

どなたかやり方を教えていただけますと幸いです。
以上、よろしくお願いいたします。

mabee
作成: 2021/07/07 (水) 09:10:50
最終更新: 2021/07/07 (水) 09:12:02
通報 ...
1
りんご 2021/07/07 (水) 10:01:15 c564b@0e907

式1:IIf([B] Is Not Null And [C] Is Not Null,[C],[D])
式1の部分を希望の名前にすると、どうでしょうか?

2

ご回答していただき大変ありがとうございます。
初心者なので初歩的な質問になってしまうのですが、
りんご様が提示してくださった式は、デザインビューのどこに入力すれば良いのでしょうか?
列の挿入で新規列を作り、フィールドのところに当該式を入力すべきでしょうか?それとも抽出条件の欄でしょうか?
よろしくお願いいたします。

3
りんご 2021/07/07 (水) 10:16:52 c564b@0e907

列の挿入で新規列を作り、フィールドのところに当該式を入力すると、どうでしょう?
補足しておくと、導出項目になるので、テーブルにデータとして残りません。

4

ご丁寧にありがとうございます。
早速フィールドのところに入力してみたのですが、
『クエリ式 'テーブル名.[式1:IIf([B] Is Not Null And [C] Is Not Null,[C],[D])]の構文エラー:カンマがありません。』
というエラーが出てしまいます…
このエラーの対処などはご存知でしょうか?
本当に初心者で申し訳ございません…

5

そのクエリをSQLビューにして、表示されるSQL文をコピーしてここに貼り付けてもらえますか。

6
りんご 2021/07/07 (水) 10:38:06 c564b@0e907

 ちょっとすぐにエラーを再現できませんでした。念のため、もう一度、下記のようにやってみて下さい。
 まず、列の挿入で新規列を作り、フィールドのところで、右クリック、ビルドを選択して、式ビルダーを出して下さい。OKボタンの左に、式を入力する場所があると思うので、IIf([B] Is Not Null And [C] Is Not Null,[C],[D])を入れてOKボタンを押します。すると、式1: IIf([B] Is Not Null And [C] Is Not Null,[C],[D])と自動的に名前が付くので、この段階でクエリを実行してエラーが出るか確認して教えて下さい。

7

何度もありがとうございます。
指示していただいた通り実行したところ、エラーは出なかったのですが、[b]のところに値を入力するボックスが新たに表示され、意図したクエリは実行できませんでした…

8
りんご 2021/07/07 (水) 11:06:52 c564b@0e907

 SQLビューに切り替えて、SQL文をコピペ提示してもらうほうが早いですね。
 現在、画面の左上のほうに、ファイル、ホーム、作成、、、デザインとある中で、デザインが選択されていると思います。その下の段に、表示、実行、選択、テーブルの作成、、、などボタンがあると思うので、表示ボタンの▼をクリックして、SQLビューを選択して下さい。