フォームのデータシートビューの[ID]番号をクリックしたら、その[ID]の単票フォームを開く方法です。
データシートのフォーム名は[F_データシート]、単票フォームのフォーム名は[F_詳細]としています。
参考ここでのウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
IDのクリック時イベントに埋め込みマクロの設定
[F_データシート]をデザインビューで開き、[ID]のプロパティシートを開きます。
キーボードから[F4]キーを押すと、プロパティを表示できます。
[イベント]タブにある[クリック時]の[ビルダー選択]ボタン[…]をクリックします。
[ビルダーの選択]ダイアログボックスが表示されます。
ここでは、[マクロビルダー]で設定します。
[マクロビルダー]を選択して[OK]ボタンをクリックします。
マクロの作成
マクロアクションの中から[フォームを開く]をクリックします。
[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。
[フォーム名]に[F_詳細]、[Where条件式]に以下のように入力します。
[ウィンドウモード]は[ダイアログ]を選択します。
上書き保存して、ウィンドウを閉じます。
参考2つのフォームとも編集可能な状態であれば、マクロでレコードの保存を追加する必要があります。
-
[データの競合]メッセージが表示される場合の回避方法
Accessで同じレコードの内容を異なるフォームで編集しようとすると、[データの競合]メッセージが表示されることがあります。 例えば、分割フ ...
埋め込みマクロのWhere条件式で設定すると、[Accessのオプション]で名前の自動修正をオンにしておくと、オブジェクト名などは自動的に修正されます。既定ではオンになっています。
名前の自動修正オプションを設定する - Microsoft サポート(Microsoft)
ただ、名前の自動修正は完璧ではありませんので注意してください。オンにすると、データベースのサイズは大きくなります。
-
開くときに意図しないパラメーターの入力ウィンドウが表示される
Accessで作成したデータベースのテーブルや、クエリ、フォーム、レポートを開こうとすると、[パラメータの入力]を求めるウィンドウが表示され ...
Where条件式について
どのレコードが選択されているかを判定するには、主キーの[ID]を利用します。
同じかどうかは[=]を使って判断し、[=]の左には条件に使用するフィールド、右には条件とする値を指定します。
Where条件式の書き方に迷ったときは、ポップヒントを参考にするといいと思います。
[Where条件式]のテキストボックス内をポイントすると、ポップヒントが現れます。例も表示されているので、分かりやすいですね。
Where条件式
フォームの基になっているテーブルまたはクエリからレコードを選択するSQLステートメントのWHERE句または式を入力してください。[ビルド]ボタンをクリックすると、式ビルダーを使用してこの引数を設定できます。Webマクロの場合は、[WhereCondition/Where条件式]の引数の先頭に"="記号を使用できません。
例:ID=[Forms]![Form1]![ID]
また、ポップヒントの下方にある[詳細情報]をクリックすると、Accessのヘルプを参照することができます。
より詳しい情報を得ることができます。
IDのプロパティでハイパーリンクとしての表示を[画面のみ]に
[ID]のプロパティの[書式]タブにある[ハイパーリンクとして表示]で[画面のみ]を選択します。
[常にハイパーリンクにする]でもいいです。
これでデータシートビューの[ID]が青くなります。
分割フォームのデータシートビューでも設定できます。
参考分割フォームについては、以下の記事で解説しています。
-
分割フォーム(単票フォームとデータシートを同時に表示)の作成と使い方
Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access200 ...
フォームの[レコードセレクタ]と[移動ボタン]
フォーム[F_詳細]では、フォームのプロパティで[書式]タブにある[レコードセクタ]や[移動ボタン]は、[いいえ]を選択すると、スッキリ見せることができます。
- レコードセレクタ
レコードを選択するためのものです。メイン画面のようにレコードを選択する必要がないフォームでは非表示にしていいと思います。すっきり見えます。既定は[はい]になっています。 - 移動ボタン
他のレコードに移動するための4つのボタンとレコード番号ボックスです。メイン画面のようにレコードを移動する必要がないフォームでは、移動ボタンは非表示にしていいと思います。既定は[はい]になっています。
参考プロパティで[はい][いいえ]を切り替える場合は、ダブルクリックで切り替えられます。
フォームビューに切り替えた状態です。
スクロールバーの表示/非表示
フォームのプロパティにスクロールバーの表示に関する設定があります。既定では、[水平/垂直]となっていますが、画面をスクロールする必要がないフォームでは、スクロールバーを非表示にすると外観はスッキリします。
以下のようになります。
参考同じIDのフォームを編集用のフォームとして作成した場合の[保存]と[キャンセル]ボタンの設定については、以下の記事で解説しています。
-
編集フォームを閉じる時のボタンを設置(保存せずに閉じる処理も)
帳票フォームなどのレコード一覧から、同じレコードの詳細フォームを開いて編集することがあります。 この編集フォームを閉じる場合、編集した内容を ...
フォームプロパティの設定
そのほか、フォームのプロパティはさまざまな設定ができます。
[移動ボタン]、[レコードセレクタ]、[スクロールバー]以外にも、以下の設定箇所を状況に合わせて工夫してみるといいと思います。
- 自動中央寄せ
フォームを開いた時にフォームウィンドウを中央に配置するかどうかの設定です。 - 境界線スタイル
既定は[サイズ調整可]です。[ダイアログ]を選択すると、フォームの最大化、最小化、サイズ変更はできなくなります。
[その他]タブにある[ポップアップ]と[作業ウィンドウの固定]については、以下の記事で解説しています。複数のフォームを扱う場合は、重要です。
フォームプロパティの[ポップアップ]と[作業ウィンドウ固定]
関連以下の記事では、クエリを作成して設定する方法を紹介しています。オブジェクトを増やしたくないというような場合は、埋め込みマクロで設定した方が良いと思います。
-
帳票フォームのボタンをクリックして同じIDの単票フォームを起動する
Accessで、帳票フォームから同じIDの単票フォームをボタンで起動する方法を解説します。 横に長い情報より、1つのウィンドウで表示したいと ...
また、帳票フォームのボタンのクリック時イベントにコードを記述する方法もあります。
帳票フォームから同じIDの単票フォームを開く(イベントプロシージャ)
帳票フォームから単票フォームを開いたときに、自動的にチェックが付くような仕組みを作ることもできます。
-
帳票フォームから単票を開いたらチェックを付ける(リセット方法も)
Accessで帳票フォームから、ボタンをクリックして同じIDの単票を開くように作成することはよくあります。フィールドが多い場合は、修正は横に ...