MENU

フォームの中に別のフォームを表示させたい

ACCESSを開いたとき表示されている掲示板を作成します。
フォームの中にサブフォームを作成するだけです。

目次

サブフォームの作り方

「デザイン」のタブで「サブフォーム/サブレポート」をクリック。

フォーム中の、表示させたい位置に使用するとウィザードが開きます。

今回は「既存のフォームを使用する」で「一覧」を選択します。
※適宜変更

何を、どのように表示させるのか? という設定が上記ですね。

ここまでで、左記のように、選択したフォームが1つのフォームの中に表示されます。

フレーム内のデータを見やすくする

このままだとインラインフレーム内が非常に読みにくいですね。
呼び出した入れ子のページを、呼び出されても見やすいように編集しましょう。

極力シンプルに削ぎ落とした方が良いです。

理想に近づいてきました。
ただ、もっとシンプルに、画面に溶け込むようにしたいです。

サブフォームのプロパティを変更する必要があるのですが、ちょっとしたコツがあります

まずは作成したばかりのサブフォームを選択します

続いてサブフォームの左上をクリックします。
クリックすると「■」が表示されるので、それが目安です。
この状態が、サブフォームの全体のプロパティを編集できる状態です。

サブフォームのプロパティで「移動ボタン」を「いいえ」にします。

こんな感じになりました。
かなりスッキリしましたね。

サブフォームを最初から並び替えしておく

現在はID順に表示されています。
表示されたら発売日順になっているようにしてみましょう。

サブフォームではなく、普通にフォームを開いて編集します。

フォームのプロパティシートに「並び替え」があります。以下を入れましょう。

発売日 DESC

ひと通りの閲覧画面は完成しました。

サブフォームに情報を追加する

次はこの中に追加するボタンや、画面更新するボタンを作ります

サブフォームの左下に小さなボタンを置いておきます。左が新規追加、右が画面更新のボタンです。
ここから先は作成者の好みにもよりますかね。

クリックしたらマクロが作動するように作成

今回はシンプルに「ダイアログ」を選択。
データモードは「追加」を選択するのを忘れずに。

ウィンドウモードを「ダイアログ」にしておくと、ボタンを押したらポップアップ画面が開きます。
こんな風に。
下の画面を消したくない時に便利です。

ここでは紹介しませんが、ポップアップ画面の中に「閉じる」ボタンをつけたり、そのまま次の情報を書き込めるように「次へ」ボタンをつけたり、それぞれ使いやすいようにカスタマイズしましょう。

「画面更新」のボタンについて。
今回は単純に現在開いてる「index」ページを「閉じる」「開く」というマクロで解決。
スマートじゃないかも。

サブフォームの一覧から詳細ページに飛ぶ方法

サブフォームのIDをクリックすると詳細画面が開くようにしたい。
今まで通りのやり方だと、サブフォームではなくメインフォームのIDを読み込もうとしてダイアログが表示されてしまうため、少し解説。

まずは一覧表のフォームをページとして開きます。

※一覧のフォームからじゃなくても、親ページの「F_index」から編集しても問題なかったようです。

IDをクリックさせるための準備。
IDのプロパティシートで「ハイパーリンクとして表示」を「画面のみ」にします。
ここは色んなやり方があるようですが、私はいつもこうしています。

クリックしたときのマクロの書き方。

[ID]=[Forms]![F_index].[F_一覧]![ID]

「F_詳細」フォームを開く時の「ID」は、フォーム「F_index」の中に呼び出されている「F_一覧」の「ID」ですよ。という意味です。

最終的な結果は以下の通りです

広告

目次