Applies ToAccess 2013

長い複数項目フォームがある場合は、1 つのアイテムに関する詳細を表示するために、すばやく "ドリルダウン" したい場合があります。 これは、複数項目フォームを単一項目フォームにリンクすることで、Access で行います。 複数項目フォームのアイテムをクリックすると、単一項目フォームが開き、詳細が表示されます。

複数アイテム フォームで ID をクリックすると、単一アイテム フォームが表示されます。

注: 

  • この記事は、Access Web アプリ (Access で設計してオンラインで公開するデータベースの一種) には適用されません。

  • "リンク" で別の方法を使用する場合 は、この記事の最後にある「その他の種類のフォーム リンク」を参照してください。

フォームを作成する

ほとんどの場合、ドリルダウン構成の 2 つのフォームは、同じテーブルまたはクエリに基づいて作成されます。 使用するフォームのペア (1 つはデータシート フォームまたは複数アイテム フォーム、もう 1 つは単一アイテム フォームまたは "詳細" フォーム) が既にある場合は、このセクションをスキップできます。 それ以外の場合は、次の手順に従って作成します。

データシートフォームまたは複数項目フォームを作成する:

  1. ナビゲーション ウィンドウで、データシート フォームに必要なデータを含むテーブルまたはクエリを選択します。

  2. [その他の>作成] をクリックし、必要な種類に応じて [複数のアイテム] または [データシート] をクリックします。

  3. 必要に合ったデザイン変更を行います。 各アイテムを特定するのに十分な情報を残して、可能な限り多くの列を削除します。

  4. フォームを保存して閉じます。

複数項目フォームの詳細については、「複数項目ツールを使用してフォームを 作成する」を参照してください

単一項目フォームまたは "詳細" フォームを作成する:

  1. ナビゲーション ウィンドウで、詳細フォームに必要なデータを含むテーブルまたはクエリを選択します。 これは、最初のフォームで使用したテーブルまたはクエリと同じ可能性があります。

  2. [フォーム の作成] > クリックします

  3. 必要なデザイン変更を行い、フォームを保存して閉じます。

詳細については、「フォーム ツールを 使用してフォームを作成する」を参照してください

詳細フォームを開くロジックを追加する

複数項目フォームまたはデータシート フォームに小さなマクロを追加します。 マクロによって詳細フォームが開き、正しい項目が表示されます。

マクロの操作をあまり行っていない場合でも、心配する必要はありません。この手順で見つけた XML をコピーして貼り付けるだけで完了です。

  1. データシート フォームを使用している場合は、ナビゲーション ウィンドウでデータシート フォームをダブルクリックして開きます。 複数項目フォームの場合は、ナビゲーション ウィンドウでフォームを右クリックし、[レイアウト ビュー] を クリックします

  2. プロパティ シートが開いていない場合は、F4 キーを押して開きます。

  3. マクロを追加する列をクリックします。 これは、マクロの完了時にクリックして詳細フォームを開く列です。 上の図では、frmContactList の ID 列にマクロが追加されています。

ヒント:  複数の列にマクロを追加できます。

  1. プロパティシートの [イベント] タブで、[クリック時] または[Dblクリック時] プロパティ ボックスをクリックし (フィールドを 1 回クリックするかダブルクリックしてフォームを開くのかによって異なる)、[ビルド] ボタン ボタンの画像をクリックします。

  2. ビルダーの選択を求めるメッセージが表示されたら、[ マクロ ビルダー] を選択し 、[OK]をクリックします。

  3. この 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>

  4. マクロ ビルダーの空白領域 ([新しいアクションの追加]ドロップダウン リストの下) をクリックし、Ctrl キーを押しながら V キーを押してマクロ アクションに貼り付けます。 問題ない場合は、マクロ ビルダーに XML が表示されません。次の手順に示すように、読み取り可能なマクロ ブロックに拡張されます。

  5. 必要に応じて、フォーム名 (frmContactDetails) とリンク列名 (ID) を、フォームの名前と 2 つのフォームのリンクに使用している列に置き換えます。 次の図は、自分の識別子名と一致する編集を行う必要がある場合がある場所を示 使うデータベースの識別名と一致するようにサンプル マクロを編集する必要がある箇所。

  6. [デザイン] タブの [保存して閉 じる]クリックします

  7. クリック可能な列をハイパーリンクのように表示して、クリック可能な列を他のユーザーに知らせた場合は、その列がまだ選択されているのを確認し、プロパティ シートで [書式] タブをクリックし、[ハイパーリンクとして表示] プロパティを [常に] に設定します。

  8. フォームを保存して閉じ、もう一度開き、変更した列をクリックまたはダブルクリックしてマクロをテストします。

デスクトップ データベースのマクロの詳細については、「デスクトップ データベースのコントロールにロジックを追加する」 を参照してください

他の種類のフォーム リンク

フォーム/サブフォームの組み合わせを作成し、それらをリンクするには、「サブフォーム (一対多フォーム) を含むフォームを作成する」を参照 してください

テーブルやクエリなどのデータ ソースにリンクされたフォームを作成するには、「フォーム ツールを使用してフォームを作成する」 を参照してください

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。