ACCESSを開いたとき表示されている掲示板を作成します。
フォームの中にサブフォームを作成するだけです。
サブフォームの作り方
「デザイン」のタブで「サブフォーム/サブレポート」をクリック。
フォーム中の、表示させたい位置に使用するとウィザードが開きます。
今回は「既存のフォームを使用する」で「一覧」を選択します。
※適宜変更
何を、どのように表示させるのか? という設定が上記ですね。
ここまでで、左記のように、選択したフォームが1つのフォームの中に表示されます。
フレーム内のデータを見やすくする
このままだとインラインフレーム内が非常に読みにくいですね。
呼び出した入れ子のページを、呼び出されても見やすいように編集しましょう。
極力シンプルに削ぎ落とした方が良いです。
理想に近づいてきました。
ただ、もっとシンプルに、画面に溶け込むようにしたいです。
サブフォームのプロパティを変更する必要があるのですが、ちょっとしたコツがあります
まずは作成したばかりのサブフォームを選択します
続いてサブフォームの左上をクリックします。
クリックすると「■」が表示されるので、それが目安です。
この状態が、サブフォームの全体のプロパティを編集できる状態です。
サブフォームのプロパティで「移動ボタン」を「いいえ」にします。
こんな感じになりました。
かなりスッキリしましたね。
サブフォームを最初から並び替えしておく
現在はID順に表示されています。
表示されたら発売日順になっているようにしてみましょう。
サブフォームではなく、普通にフォームを開いて編集します。
フォームのプロパティシートに「並び替え」があります。以下を入れましょう。
発売日 DESC
ひと通りの閲覧画面は完成しました。
サブフォームに情報を追加する
次はこの中に追加するボタンや、画面更新するボタンを作ります
サブフォームの左下に小さなボタンを置いておきます。左が新規追加、右が画面更新のボタンです。
ここから先は作成者の好みにもよりますかね。
クリックしたらマクロが作動するように作成
今回はシンプルに「ダイアログ」を選択。
データモードは「追加」を選択するのを忘れずに。
ウィンドウモードを「ダイアログ」にしておくと、ボタンを押したらポップアップ画面が開きます。
こんな風に。
下の画面を消したくない時に便利です。
ここでは紹介しませんが、ポップアップ画面の中に「閉じる」ボタンをつけたり、そのまま次の情報を書き込めるように「次へ」ボタンをつけたり、それぞれ使いやすいようにカスタマイズしましょう。
「画面更新」のボタンについて。
今回は単純に現在開いてる「index」ページを「閉じる」「開く」というマクロで解決。
スマートじゃないかも。
サブフォームの一覧から詳細ページに飛ぶ方法
サブフォームのIDをクリックすると詳細画面が開くようにしたい。
今まで通りのやり方だと、サブフォームではなくメインフォームのIDを読み込もうとしてダイアログが表示されてしまうため、少し解説。
まずは一覧表のフォームをページとして開きます。
※一覧のフォームからじゃなくても、親ページの「F_index」から編集しても問題なかったようです。
IDをクリックさせるための準備。
IDのプロパティシートで「ハイパーリンクとして表示」を「画面のみ」にします。
ここは色んなやり方があるようですが、私はいつもこうしています。
クリックしたときのマクロの書き方。
[ID]=[Forms]![F_index].[F_一覧]![ID]
「F_詳細」フォームを開く時の「ID」は、フォーム「F_index」の中に呼び出されている「F_一覧」の「ID」ですよ。という意味です。
最終的な結果は以下の通りです