Access where条件式について
最近マクロでwhere条件式による抽出を知った初心者です。
現在単ページ表示のフォームから、表示されているID番号のレポートを表示させたいと考えているのですが、そのレポートをレコードソースになるマスターテーブルから
[Form]![ID]=[マスターテーブル]![ID]
とすると該当するレポートが表示されるのですが、
レポートのレコードソースをクエリに変更
[Form]![ID]=[マスターテーブルクエリ]![ID]
に変更するとすべて空で表示されてしまいます。
クエリを使用することは出来ないのでしょうか?
データベースの基礎があやふやなこと、where条件を最近知ったことなどから、検討違いなことを質問していたら申し訳ありません。
また質問に対して、足りない情報があればご指摘願います。
OS Windows XP
Access 2003
No.1
- 回答日時:
WHERE句の条件式は現実にあるオブジェクト名を
使わなければなりません。
「マスターテーブル」というテーブルに「ID」と言う
フィールドがある以上、レコードソースがクエリに
代わっても、各オブジェクト(テーブルやフィールド)
の名前は変わらないので、元のままの名前を使います。
クエリ内でエイリアス(別名)を定義した場合は別名を
使います。以下はその例です。
SELECT ID As RepoId FROM マスターテーブル As Master
上記SQLを持つクエリをXXXとします。IDはReportId、
マスターテーブルはMasterという別名になっています。
条件式は下記の様に変わります。
[Form]![ID]=[Master]![ReportId]
つまり、クエリ名は出てきません。エイリアスを定義
していないなら、名前は元のままです。
この回答への補足
そうなんですね。
ご回答ありがとうございます。
それでは例えば複数のテーブルからデータを取り出したクエリをレコードソースにしたレポートをwhere条件で指定したい場合などはどうしたら良いのでしょうか?
例えばレポートAはテーブルBとテーブルCからデータを取り出したクエリXがあります。
テーブルBとテーブルCは互いにサブIDでリレーションの関係にあり、クエリでテーブルBのIDとテーブルCのフィールドDを表示するとしたら、このクエリXをwhere条件でID指定する場合、どのように記述したら
よろしいのでしょうか?
No.2ベストアンサー
- 回答日時:
二つのテーブルに同じ名前のフィールドがある場合は
テーブル名で修飾して、どちらのものかを明示的に
指定します。下記参照
テーブルB.ID=~ AND テーブルC.フィールドD=~
最初の質問で[テーブル]![ID]となっていたのと同じ
ですが、!はAccess独特の表記で、他のDBシステムでは
ピリオドになります。[]はテーブル名やフィールド名に
予約語や空白などが含まれている場合に、その効果を
打ち消すために使います。今回の例のような場合には
予約語や特殊記号のない名前なので[]は不要です。また、
フィールド名が一意であれば修飾の必要はありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- Oracle SQL update方法 2 2022/06/22 14:07
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
AccessでWhere条件とは
Access(アクセス)
-
YES/NO型の値
Excel(エクセル)
-
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
-
4
Access 指定したレコードへ移動
Access(アクセス)
-
5
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
6
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
7
ACCESSでコンボボックスにSQLで抽出した値を表示したい
その他(データベース)
-
8
アクセスフォームで2つを結合テキストボックス
Access(アクセス)
-
9
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
10
iif関数で3つ以上条件を抽出したい場合
IT・エンジニアリング
-
11
AccessのWHERE句において、変数は使用できますか?
Access(アクセス)
-
12
アクセスの更新クエリでカレントレコードのみ更新したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルとクエリの相関図は表...
-
Access 住所入力支援が機能しま...
-
accessで2つのフィールドを同時...
-
ACCESSの時刻の引き算
-
アクセスでの、フォームとテー...
-
アクセス:SQLでフィールド...
-
Access コンボボックスの絞り...
-
アクセス: フォーム上で計算...
-
access テーブルの色分けについて
-
クエリ上でフィールド名が2つ...
-
アクセス・テーブルの改行につ...
-
日付型のフィールドに空白を入...
-
ACCESSの時間帯の抽出について
-
差込印刷での全角表示について...
-
テキストボックスにクエリ結果...
-
「年」と「月」だけの日付の表...
-
更新クエリをリンクデータベー...
-
Accessのテーブルのフィールド...
-
エクセルデータをワードで差し...
-
Accessフィールド分割
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス・テーブルの改行につ...
-
アクセス: フォーム上で計算...
-
クエリ上でフィールド名が2つ...
-
Accessで更新履歴情報を保存(...
-
アクセスでの、フォームとテー...
-
ACCESSの時刻の引き算
-
Access 別テーブルにある値を抽...
-
テーブルとクエリの相関図は表...
-
INT関数のバグ?
-
Access フォーム上でのテキス...
-
アクセスクエリで英数字のみ半...
-
アクセス:SQLでフィールド...
-
アクセスの追加クエリで教えて...
-
アクセスに自動入力を入れたい
-
ACCESSのリストボックスで複数...
-
access テーブルの色分けについて
-
Access2013 クエリ内別フィール...
-
アクセスでテーブル入力用のフ...
-
Access 住所入力支援が機能しま...
-
Access フォームで複数テーブル...
おすすめ情報