Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Access 2016)
複数のテーブルのフィールドに値を代入
投稿日時: 19/09/13 11:26:39
投稿者: アロー

ややこしいのですが、回答お願い致します。
 
【テーブルA〜G】の7個あります。
フォーム画面【メインフォーム】を作成し、コンボボックスを配置。
【テーブルA〜G】のそれぞれで選択クエリを作成し、上記のコンボボックスの値で選択クエリのレコードが
決まります。
その選択クエリをメインフォームのサブフォームとして埋め込んでいます。(サブフォームはA〜Gなので7個あります)
 
つまり、
@メインフォームでコンボボックスで値を指定。更新後処理でRequery。
Aサブフォーム(テーブルA〜Gを基にした選択クエリ)で表示。
 
としています。
 
そして各テーブルにはYES/NO型のフィールドがあり、サブフォームでチェックしたレコードのみ出荷表として印刷となっています。
レポートは【メインレポート】があり、同じように上記のクエリ7個をサブレポートとして配置し、1枚にして印刷するようになっています。
そしてチェックした(印刷した)レコードは、出荷フィールドが「出荷済み」となり、別に作成した選択クエリで出荷済みのレコードのみを表示しています。ここでも選択クエリは7個あり、メインフォーム2のサブフォームとして7個埋め込んでいます。
 
ここで質問なのですが、
メインフォームに顧客先のテキストボックスを作って、レポートにもテキストボックス【=[Forms]![メインフォーム]![顧客先]】を作り、メインフォームのテキストボックスに入力した名前がレポートに表示されるようにしています。
このテキストボックスの値を、出荷済みのサブフォーム7個にもそれぞれ表示させられないでしょうか?
レポートにはテキストボックスで出荷先が表示されるのですが、出荷済みのサブフォームでは、それが何処に出荷されているかが分からない状態になっています。
サブフォームが1個なら、出荷先のフィールドに直接出荷先を入力すればいいだけなのですが、サブフォームが7個あり、しかもチェックしたレコードのみ印刷なのでややこしいです。
 
よろしくお願い致します。

回答
投稿日時: 19/09/13 18:00:03
投稿者: sk

引用:
フォーム画面【メインフォーム】を作成し、コンボボックスを配置。

・[メインフォーム]は連結フォームなのか。
 それとも非連結フォームなのか。
 
・[メインフォーム]が連結フォームである場合、
 そのレコードソースはどのテーブル/クエリなのか。
 また、その主キーはどのフィールドなのか。
 
・[メインフォーム]上のコンボボックスは
 連結コンボボックスなのか。
 それとも非連結コンボボックスなのか。
 
・上記のコンボボックスが連結コンボボックスである場合、
 そのコントロールソースはどのフィールドなのか。
 
引用:
【テーブルA〜G】のそれぞれで選択クエリを作成し、
上記のコンボボックスの値で選択クエリのレコードが決まります

引用:
@メインフォームでコンボボックスで値を指定。更新後処理でRequery

・それぞれの選択クエリは「[メインフォーム]上のコンボボックスの値を
 受け取るパラメータクエリである」という意味か。
 
引用:
その選択クエリをメインフォームのサブフォームとして
埋め込んでいます。(サブフォームはA〜Gなので7個あります)

・[メインフォーム]上に配置された各サブフォームコントロールの
 [リンク親フィールド]プロパティ及び[リンク子フィールド]プロパティ
 それぞれどのように設定されているのか。
 
引用:
レポートは【メインレポート】があり、同じように上記のクエリ7個を
サブレポートとして配置し、1枚にして印刷するようになっています。

同上。
 
引用:
メインフォームに顧客先のテキストボックスを作って、レポートにも
テキストボックス【=[Forms]![メインフォーム]![顧客先]】を作り、
メインフォームのテキストボックスに入力した名前がレポートに
表示されるようにしています。

仮に[メインフォーム]が連結フォームであるとして、もし
[メインフォーム]のレコードソースと[メインレポート]の
レコードソースが全く同じテーブル/クエリであるならば、
(わざわざ演算テキストボックスを使うまでもなく)
[顧客先]を表すフィールドをコントロールソースとする
連結テキストボックスを[メインレポート]の詳細セクション上に
配置すれば事足りるのではないでしょうか。
 
引用:
このテキストボックスの値を、出荷済みのサブフォーム7個にも
それぞれ表示させられないでしょうか?

[メインフォーム](や[メインレポート])上に既に表示されているのに、ですか?
 
引用:
レポートにはテキストボックスで出荷先が表示されるのですが、
出荷済みのサブフォームでは、それが何処に出荷されているかが
分からない状態になっています。
サブフォームが1個なら、出荷先のフィールドに直接出荷先を
入力すればいいだけなのですが、サブフォームが7個あり、
しかもチェックしたレコードのみ印刷なのでややこしいです。

今のところの印象としては、テーブル設計に問題があるか、
フォーム/レポートのデザインに関する思想や手法に問題がある
と思います。

投稿日時: 19/09/17 08:53:24
投稿者: アロー

有難うございます。
一度全体を見直してみることにしました。
アドバイス有難うございます。