Access where条件式について
最近マクロでwhere条件式による抽出を知った初心者です。
現在単ページ表示のフォームから、表示されているID番号のレポートを表示させたいと考えているのですが、そのレポートをレコードソースになるマスターテーブルから
[Form]![ID]=[マスターテーブル]![ID]
とすると該当するレポートが表示されるのですが、
レポートのレコードソースをクエリに変更
[Form]![ID]=[マスターテーブルクエリ]![ID]
に変更するとすべて空で表示されてしまいます。
クエリを使用することは出来ないのでしょうか?
データベースの基礎があやふやなこと、where条件を最近知ったことなどから、検討違いなことを質問していたら申し訳ありません。
また質問に対して、足りない情報があればご指摘願います。
OS Windows XP
Access 2003
No.2ベストアンサー
- 回答日時:
二つのテーブルに同じ名前のフィールドがある場合は
テーブル名で修飾して、どちらのものかを明示的に
指定します。下記参照
テーブルB.ID=~ AND テーブルC.フィールドD=~
最初の質問で[テーブル]![ID]となっていたのと同じ
ですが、!はAccess独特の表記で、他のDBシステムでは
ピリオドになります。[]はテーブル名やフィールド名に
予約語や空白などが含まれている場合に、その効果を
打ち消すために使います。今回の例のような場合には
予約語や特殊記号のない名前なので[]は不要です。また、
フィールド名が一意であれば修飾の必要はありません。
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指定する場合、どのように記述したら
よろしいのでしょうか?
お探しの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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
AccessでWhere条件とは
Access(アクセス)
-
YES/NO型の値
Excel(エクセル)
-
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
-
4
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
5
Access 指定したレコードへ移動
Access(アクセス)
-
6
ACCESSでコンボボックスにSQLで抽出した値を表示したい
その他(データベース)
-
7
アクセスフォームで2つを結合テキストボックス
Access(アクセス)
-
8
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
9
アクセスの更新クエリでカレントレコードのみ更新したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クエリ上でフィールド名が2つ...
-
アクセス・テーブルの改行につ...
-
Accessで更新履歴情報を保存(...
-
Access 別テーブルにある値を抽...
-
アクセス:SQLでフィールド...
-
アクセスの追加クエリで教えて...
-
access テーブルの色分けについて
-
Access フォームで複数テーブル...
-
Accessで1つのフィールドに複...
-
ACCESSの時刻の引き算
-
アクセスでの、フォームとテー...
-
アクセスクエリで英数字のみ半...
-
テーブルとクエリの相関図は表...
-
ACCESS レポートの元テーブル...
-
Accessのフォームにテーブルの...
-
ACCESSのリストボックスで複数...
-
Access フォーム上でのテキス...
-
アクセス: フォーム上で計算...
-
accessで2つのフィールドを同時...
-
差込印刷での全角表示について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス・テーブルの改行につ...
-
Accessで更新履歴情報を保存(...
-
クエリ上でフィールド名が2つ...
-
アクセス: フォーム上で計算...
-
アクセスでの、フォームとテー...
-
Access フォーム上でのテキス...
-
アクセスクエリで英数字のみ半...
-
アクセスの追加クエリで教えて...
-
アクセス:SQLでフィールド...
-
ACCESSの時刻の引き算
-
テーブルとクエリの相関図は表...
-
INT関数のバグ?
-
Access 別テーブルにある値を抽...
-
アクセスに自動入力を入れたい
-
Access ルックアップが反映され...
-
ACCESSのリストボックスで複数...
-
Access フォームで複数テーブル...
-
アクセスでフォームに入力した...
-
access テーブルの色分けについて
-
アクセスでテーブル入力用のフ...
おすすめ情報