Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


197 / 2272 ツリー ←次へ | 前へ→

【12586】一つのフォームを4つのサブフォームとして扱う sin 14/7/24(木) 0:19 質問[未読]
【12587】Re:一つのフォームを4つのサブフォームとし... hatena 14/7/24(木) 8:20 回答[未読]
【12588】Re:一つのフォームを4つのサブフォームとし... sin 14/7/24(木) 22:05 お礼[未読]

【12586】一つのフォームを4つのサブフォームとし...
質問  sin  - 14/7/24(木) 0:19 -

引用なし
パスワード
   【テーブルが4つあります】
テーブル1 テーブル2 テーブル3 テーブル4
【フォームが2つあります】
サブフォーム1 メインフォーム1

メインフォーム1にサブフォーム1を4つ、非連結で配置しています。(サブフォーム名を変えて配置しています。)
4つ、それぞれのサブフォームのレコードソースは別々のテーブルが設定
されています。

メインフォームの読み込み時にそれぞれのサブフォームで、少しずつ違うプログラムを起動させたいと思っています。

質問1
メインフォームの読み込み時イベントにvbaを書けばよいのか、
サブフォームの読み込み時イベントにvbaを書けばよいのかわかりません。
質問2
サブフォーム名を使って、if文か何かでプログラムを分ければよいかと思って
板のですが、メインフォーム上のサブフォーム名の取得方法が分かりません。

どのようなキーワードで調べれば方法のヒントが出てくるかも分からず、
曖昧な質問になってしまいました。
何かヒントになりそうなアドバイスでも良いので、教えていただけると
とても助かります。

【12587】Re:一つのフォームを4つのサブフォームと...
回答  hatena  - 14/7/24(木) 8:20 -

引用なし
パスワード
   ▼sin さん:
>【テーブルが4つあります】
>テーブル1 テーブル2 テーブル3 テーブル4
>【フォームが2つあります】
>サブフォーム1 メインフォーム1
>
>メインフォーム1にサブフォーム1を4つ、非連結で配置しています。(サブフォーム名を変えて配置しています。)
>4つ、それぞれのサブフォームのレコードソースは別々のテーブルが設定
>されています。

サブフォームは サブフォーム1 の一つだけで、
サブフォームを埋め込むサブフォームコントロール名を変更して、4つ配置しているということでしょうか。
で、レコードソースをどのサブフォームコントロールに埋め込まれているかによって、変更していると。

そうだとすると、レコードソースはどのように変更しているでしょうか。


ただ、直接の回答ではないですが、
テーブル1 テーブル2 テーブル3 テーブル4 は同じフォームのレコードソースにするということはフィールド構成が同じということですよね。

だとすると、データベースでは、テーブルを分けないで一つにまとめるというのが、正しい設計になります。
まとめたテーブルには、分類フィールドを追加して、どのテーブルにあったレコードかを識別するようにします。

そうすれば、サブフォームコントロールのリンク親フィーるど、リンク子フィールドを設定するだけで希望のことが可能になります。

【12588】Re:一つのフォームを4つのサブフォームと...
お礼  sin  - 14/7/24(木) 22:05 -

引用なし
パスワード
   >そうだとすると、レコードソースはどのように変更しているでしょうか。

メインフォームの読み込み時に
Me.[サブフォーム名].Form.Recordsource = ""
このようにして設定しています。

>だとすると、データベースでは、テーブルを分けないで一つにまとめるというのが、正しい設計になります。
>まとめたテーブルには、分類フィールドを追加して、どのテーブルにあったレコードかを識別するようにします。

確かにこの方法が最善かもしれません。ただ、私の実力ですとすぐに作れるものでもなさそうですので、多少時間をかけて最終的にこの形を目指そうかと思います。

ちなみにメインフォーム読み込み時にレコードソースの設定を、サブフォーム読み込み時に他のプログラムを実行させた所、目的の物が作成できた事を報告いたします。

アドバイスありがとうございました。

197 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free