• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AccessでHTMLのフレームの様にフォームを作りたい)

AccessでHTMLのフレームの様にフォームを作りたい

このQ&Aのポイント
  • Access2007を使ってフレームのようなフォームを作成する方法が知りたい
  • HTMLでのフレームページのように左側にボタン群を配置し、右側に書類やテーブルを表示するフォームをAccessで作りたい
  • 既存の方法ではボタン群とフォームを複数作成し、行き来させることはできるが、レポートやテーブルを右側に表示することはできない。VBAの使い方もまだ理解できていない

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> レポートやテーブルはこの方法では右側に表示させる事が出来ませんでした。 確かに、フォームを元にしたサブフォームは、ドラッグ&ドロップで作成できますが、 通常は『デザイン』リボンの『コントロール』内にある「サブフォーム/サブレポート」 をクリックした後、フォーム内の設置したい位置をクリックします。 (ここはドラッグ&ドロップではなく、リボン内のボタンをクリック後、フォーム内を  再クリック、という操作になるので、念のため) →<添付画像の丸で囲った部分> なお、上記の方法で作成した場合は、サブフォームの枠が設置されただけです。 実際に表示させるフォームやテーブル、レポートは、プロパティシートの『データ』 タブにある「ソース オブジェクト」で指定します。 →<添付画像で下線を引いた部分> ここでフォームを指定すると、だいたい「既存のフォームのドラッグ&ドロップ」で 作成したものと同様のサブフォームが作れることになります。 (逆にいえば、ドラッグ&ドロップで作成したサブフォームの「ソース オブジェクト」を  書き換えれば、レポートを元にしたサブフォームも作れる、ということです)    ~~~~~~~~~~~~~~~~~~~~~~~~~~ で、ボタンのクリックによるサブフォームの表示の切替は、マクロやVBAで「ソース オブジェクト」を変更することで行います。 (この場合、実際に式に使用するのは「SourceObject」になります) 【VBAの場合】  親フォーム上のコマンドボタン名が「コマンド1」で、サブフォームのコントロールとして  の名前が「サブ1」、「サブ1」で表示させるフォームの名前が「フォーム2」の場合: Private Sub コマンド1_Click()   Me!サブ1.SourceObject = "フォーム2" End Sub 【マクロの場合】  『アクション』 : 「値の代入」  (マクロのデザインビューで、『デザイン』リボンの『表示/非表示』内の「すべての   アクションを表示」をオン(オレンジ表示)にしないと表示されないので注意)   ・『アイテム』 : Forms!フォーム1!サブ1.SourceObject     (親フォーム名が「フォーム1」、サブフォーム名が「サブ1」の場合)   ・『式』 : "フォーム2" ※フォームではなくテーブル等を使用する場合は、例えば「テーブル1」を表示する   には「テーブル.テーブル1」といった形で指定する必要があります。   具体的な形は、フォームのデザインビューにて、サブフォームのプロパティシートの   『ソース オブジェクト』欄のリストを参照下さい。  (その場合もダブルクォートで囲むことをお忘れなく・・・)

prussianblue
質問者

お礼

 ご回答有難う御座いました。ご指導頂きました通りに行って、出来てからご報告をと思い、お返事が遅くなってしまいました。  サブフォームの本来の作り方は大変参考になりました。有難う御座いました。  VBA、マクロについては、勉強してゆけば出来る様になるかと、参考書と首っ引きでで挑戦しておりますが、未だ出来ず、自分が何も解っていない為、どこが解らないのかも解らないもので、ご質問させて頂くことも出来ません。  進展御座いましたら、補足欄に追ってご質問させて頂こうと存じます。