Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
指定したレコードのサブフォーム表示
投稿日時: 20/03/10 11:37:51
投稿者: Cyber033

メインデータシートでレコードを指定し、そのレコードのサブフォームを単票形式とダータシートの分割
フォームで開くことはできますか。できるとすればどうやってデザインすれば良いのでしょうか。

回答
投稿日時: 20/03/10 11:57:46
投稿者: hatena
投稿者のウェブサイトに移動

データシートにはサブフォームを配置することはできませんので、不可能です。
 
2つを別フォームにするか、
非連結のメインフォーム上に、
データシートと単票フォーム(分割フォーム)を2つのサブフォームとして配置することになります。
 
 

投稿日時: 20/03/10 17:59:06
投稿者: Cyber033

メインデータ中からレコードを選択指定することでVBAによりリレーシュンシップ設定しているフィールドデータを取り込み、リレーションシップしているサブデータのデータシートと単票形式フォームの分割フォームを表示させることが可能でしょうか。

回答
投稿日時: 20/03/10 18:53:39
投稿者: hatena
投稿者のウェブサイトに移動

そういうことなら可能です。
ただし、VBAが必要になります。
 
メインテーブルをレコードソースとするデータシートフォームのレコード移動時のイベントで
サブテーブルをレコードソースとする分割フォームにVBAでフィルターをかければいいでしょう。

投稿日時: 20/03/12 10:01:15
投稿者: Cyber033

問題の解決に出口が見えそうです。ありがとうございます。
VBAの例を紹介していただけないでしょうか。特にVBAでフォーム
から別のフォームに移動する記述がよくわかりません。

回答
投稿日時: 20/03/12 13:03:53
投稿者: hatena
投稿者のウェブサイトに移動

下記のような仕様と仮定します。
 
単票フォーム名 詳細フォーム
レコードソースのテーブルの主キーフィールド名 ID
主キーフィールドのデータ型 数値型 または オートナンバー型
 
データシートビューフォームと単票フォームは同時に開いているとする。
 
データシートビューフォームのレコード移動時のイベントプロシージャに下記のコードを記述する。
 
Private Sub Form_Current()
    Forms!詳細フォーム.Filter = "ID=" & Me!ID
    Forms!詳細フォーム.FilterOn = True
End Sub
 
以上です。

トピックに返信