注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。簡単に参照できるように、こちらに英語の記事があります。
項目数が多くて長いフォームがある場合、その中の 1 つの項目 (アイテム) を "ドリルダウン" して、その項目に関連する詳細情報だけを簡単に表示できると便利です。Access では、複数アイテム フォームと単一アイテム フォームをリンクすることによってこれが行えます。複数アイテム フォーム内のどれか 1 つの項目をクリックすると、その項目の詳細情報を表示する単一アイテム フォームが表示されます。
注:
-
この記事は、Access web アプリ: アクセス権を持つ設計し、オンラインで公開するデータベースの種類に適用されません。
-
“リンク” を別の意味で使用する場合は、この記事の最後にある「その他の種類のフォーム リンク」をご覧ください。
フォームを作成する
ほとんどの場合、ドリルダウンの構成に含まれる 2 つのフォームは、同一テーブルまたは同一クエリが基になっています。使うフォームの組み合わせ (片方はデータシートまたは複数アイテム フォームで、もう一方は "詳細" 情報の入った単一アイテム フォーム) が既にある場合、このセクションは省略してください。まだない場合は、ここの手順を使って対象フォームを作成します。
データシートまたは複数アイテム フォームを作成する
-
ナビゲーション ウィンドウで、データシート フォームに表示するデータが含まれているテーブルまたはクエリを選びます。
-
[作成]、[その他のフォーム] を順にクリックし、作成したいフォームの種類に合わせて [複数のアイテム] または [データシート] をクリックします。
-
必要なデザイン変更を加えます。できるだけ多くの列を削除して、各アイテムが何なのかを判断するために必要な情報だけを残すようにしてください。
-
フォームを保存して閉じます。
複数のアイテムのフォームの詳細については、「複数のアイテム ツールを使用してフォームを作成する」をご覧ください。
"詳細" 情報の入った単一アイテム フォームを作成する
-
ナビゲーション ウィンドウで、詳細フォームに表示するデータが含まれているテーブルまたはクエリをクリックします。これは、ほとんどの場合、1 つ目のフォームに使ったのと同じテーブルまたはクエリになります。
-
[作成]、[フォーム] を順にクリックします。
-
必要なデザイン変更を加えてから、フォームを保存して閉じます。
詳細については、「フォーム ツールを使用してフォームを作成する」をご覧ください。
詳細フォームを表示するロジックを追加する
次に、複数アイテム フォームまたはデータシート フォームに小さなマクロを追加します。このマクロでは、詳細フォームを開いて、正しい項目が表示されたことを確認します。
マクロの作業に慣れていなくても心配しないでください。この手順で示す XML をコピーして貼り付けるだけで、マクロを作成できます。
-
データシート フォームを使っている場合は、ナビゲーション ウィンドウでそのデータシート フォームをダブルクリックして開きます。複数アイテム フォームの場合は、ナビゲーション ウィンドウでそのフォームを右クリックし、[レイアウト ビュー] をクリックします。
-
プロパティ シートがまだ開いていない場合は、F4 キーを押して開きます。
-
マクロを追加する列をクリックします。これが、マクロが完成したときに、詳細ウィンドウを開くためにクリックする列になります。上の図では、frmContactList の [ID] 列にマクロを追加しています。
ヒント: マクロを複数の列に追加することもできます。
-
プロパティ シートの [イベント] タブで、[クリック時] または [ダブルクリック時] プロパティ ボックス内をクリックし (フィールドをクリックしてフォームを開くようにするのか、ダブルクリックしてフォームを開くようにするのかに応じて)、[ビルド]
をクリックします。
-
ビルダーを選ぶよう求められた場合は、[マクロ ビルダー] を選び、[OK] をクリックします。
-
次に示す XML ブロックを選び、Ctrl キーを押しながら C キーを押してクリップボードにコピーします。
<?xml version="1.0" encoding="UTF-16" standalone="no"?> <UserInterfaceMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application"> <UserInterfaceMacro For="ID" Event="OnClick"><Statements><Action Name="OnError"><Argument Name="Goto">Macro Name</Argument><Argument Name="MacroName">ErrorHandler</Argument></Action> <ConditionalBlock><If><Condition>[Form].[Dirty]</Condition><Statements><Action Name="SaveRecord"/></Statements></If></ConditionalBlock> <ConditionalBlock><If><Condition>IsNull([ID])</Condition><Statements><Comment>Open the form to a new record if the current ID is Null</Comment><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="DataMode">Add</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="Requery"/></Statements></If><Else><Statements><Comment>Use a TempVar to pass a filter to the OpenForm action</Comment><Action Name="SetTempVar"><Argument Name="Name">Contact_ID</Argument><Argument Name="Expression">[ID]</Argument></Action><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="WhereCondition">[ID]=[TempVars]![Contact_ID]</Argument><Argument Name="DataMode">Edit</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="RemoveTempVar"><Argument Name="Name">Contact_ID</Argument></Action><Action Name="RefreshRecord"/></Statements></Else></ConditionalBlock> </Statements></UserInterfaceMacro></UserInterfaceMacros> -
マクロ ビルダーの何もない部分 ([新しいアクションの追加] ドロップダウン リストのすぐ下) をクリックしてから、Ctrl キーを押しながら V キーを押して、マクロ アクションを貼り付けます。成功すると、XML はマクロ ビルダーに表示されず、次の手順で示すように、より読みやすいマクロ ブロックに展開されます。
-
必要に応じて、フォーム名 (frmContactDetails) とリンクする列の名前 (ID) を、2 つのフォームのリンクに使うフォームの名前と列の名前に置き換えます。次の図に、実際の識別名に合わせて編集する必要がある箇所を示します。
-
[デザイン] タブで [保存] をクリックしてから [閉じる] をクリックします。
-
ユーザーがすぐにクリックできるように、クリックする列がハイパーリンクのように表示されるようにする場合は、列がまだ選択されていることを確認してから、プロパティ シートで [書式] タブをクリックし、[ハイパーリンクとして表示] プロパティを [常に] に設定します。
-
フォームを保存して閉じてから、再度開いて、変更を加えた列をクリックまたはダブルクリックしてマクロをテストします。
デスクトップ データベースにおけるマクロの詳細については、「デスクトップ データベースのコントロールにロジックを追加する」をご覧ください。
その他の種類のフォーム リンク
フォーム/サブフォームの組み合わせとリンクを作成するのには、共同を参照してくださいサブフォーム (一対多のフォーム) を含むフォームを作成します。
テーブルやクエリなどのデータ ソースにリンクされたフォームを作成するには、「フォーム ツールを使ってフォームを作成する」をご覧ください。