如果您有一個很長的多專案表單,有時候您想要快速「向下鑽進」以查看單一專案的詳細資訊。 您可以在 Access 中將多個專案表單連結至單一專案表單,以執行此操作。 當您按一下多專案表單中的專案時,單一專案表單會開啟以顯示詳細資料。
建立表單
在大多數情況下,向下切取配置的兩個表單是以相同的資料表或查詢為基礎。 如果您已經有一對想要使用的表單 (一個表單是資料工作表或多個專案表單,另一個表單是單一專案或「詳細資料」表單) ,您可以略過本節。 否則,請使用這些程式來建立它們:
建立資料工作表或多個專案表單:
-
在功能窗格中,選取包含資料工作表中的資料的資料表或查詢。
-
按一下[>表單,然後按一下[多個專案或資料工作表,視您想要的表單類型。
-
進行您想要的任何設計變更。 請考慮盡可能刪除多欄,只留下足夠的資訊來識別每個專案。
-
儲存並關閉表單。
有關多個專案表單的詳細資訊,請參閱使用多重專案 工具建立表單。
建立單一專案或「詳細資料」表單:
-
在功能窗格中,選取包含詳細表單上您想要之資料的資料表或查詢。 這很可能是您用於第一個表單的相同資料表或查詢。
-
按一下 [建立 > 表單。
-
進行您想要的任何設計變更,然後儲存並關閉表單。
詳細資訊請參閱使用表單工具 建立表單。
新增開啟詳細表單的邏輯
現在,在多專案或資料工作表表單中新增一個小宏。 宏會開啟詳細表單,並確保顯示正確的專案。
如果您尚未對宏執行太多工作,請不用擔心;您可以複製並貼上在此程式中找到的 XML。
-
如果您使用的是資料工作表表單,請在功能窗格中按兩下該表單以開啟。 對於多專案表單,請在 [功能窗格> 中以滑鼠右鍵按一下該表單,然後按一下 [ 版面配置視圖。
-
如果屬性工作表尚未開啟,請按 F4 開啟。
-
按一下要新增宏的欄。 這會是當您完成宏時按一下以開啟詳細表單的欄。 在上圖中,宏會新增到 frmContactList 的識別碼欄。
提示: 您可以將宏新增到多個資料行。
-
在[屬性工作表的 [事件> 卷點中,按一下 [隨選即用或按下Dbl Click屬性方塊 (視您是否要以單鍵按一下或按兩下欄位) 開啟表單,然後按一下 [建立 。
-
如果 Access 提示您選擇建立器,請選取 宏建立器, 然後按一下 [確定。
-
選取此 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) 和連結列名稱 (識別碼) 取代為表單名稱,以及您用於連結兩個表單的欄。 下圖顯示您可能需要進行編輯以符合您自己的識別碼名稱
: -
在 [設計 > Tab 上,按一下 [儲存 並 關閉。
-
如果您希望可點選的欄 () 顯示為超連結,讓人員知道他們可以按一下該欄,請確定該欄仍為選取狀態,在 [屬性工作表> 中,按一下 [格式索引卷點,並設定為永遠顯示為超連結屬性。
-
儲存並關閉表單,然後按一下或按兩下您修改的欄,重新開啟並測試宏。
若要進一步瞭解桌面資料庫中的宏,請參閱新增邏輯至 桌面資料庫中的控制項。
其他類型的表單連結
若要建立表單/子表單組合並連結在一起,請參閱建立包含子表單的表單 (一對多表單) 。
若要建立連結至資料來源的表單 ,例如資料表或查詢,請參閱使用表單工具 建立表單。