如何模擬子表單或子報表在 Access 中的資料存取頁上

文章編號: 291803 - 檢視此文章適用的產品。
中級使用者: 需要基本巨集]、 [程式碼撰寫,] 以及 [交互操作性技巧。

本文可套用於 [Microsoft Access 資料庫 (.mdb) 和 Microsoft Access 專案 (.adp)。

本文章的有 Microsoft Access 2000] 版本請參閱 232566
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,您可以使用模擬子表單或子報表資料存取頁上的四種方法。沒有子頁控制項在工具箱中的一頁 [設計] 檢視中。因此,這些方法將會示範如何群組、 框架組、 超連結,與內嵌框架模仿這個行為。

其他相關資訊

使用一個群組

這個方法中建立群組資料的頁。您可以使用資料頁精靈,以輕鬆地建立這一頁 ; 但,如果您使用精靈來建立群組資料的頁,頁面就不是可更新。或者,您可以手動建立群組資料的頁。如果您以手動方式建立群組資料的頁該網頁將無法在大部分的情況下可更新。

使用資料頁精靈

  1. 在 Web 伺服器上的資料夾或共用的網路資料夾中,請將範例資料庫 Northwind.mdb 的複製。
  2. 從 Web 資料夾或網路共用開啟 Northwind.mdb 的複本。

    注意: 不要使用對應磁碟機代號,除非每個人都使用相同的磁碟機代號。
  3. 在 [資料庫] 視窗中按一下 [物件,] 下的 [網頁],然後按一下 [新增]
  4. 在 [新增資料頁] 對話方塊按一下 [資料頁精靈,然後按一下 [[確定]
  5. 新增來自 [訂貨主檔] 資料表 [訂單編號]、 [收貨人] 及 [訂單日期] 欄位。從 [訂單明細] 資料表和 [產品] 資料表中的 [產品名稱] 欄位可以新增 [數量] 欄位,然後按一下 [下一步]
  6. 在清單按一下 [訂單編號],然後按一下 > 群組依 [訂單編號] 欄位的頁面] 按鈕。按一下 [完成]。
  7. 將 [收貨人] 和 [訂單日期] 欄位移動到 [頁首: 產品 [訂單編號] 區段,使資料頁的看起來更像那些在其他三種方法。
  8. 在 [頁首] 上按一下滑鼠右鍵: OrdersWiz 區段,然後按一下 [群組層級屬性
  9. 資料頁面大小 屬性設定為 5
  10. 在 [檔案] 功能表上按一下 [儲存]。
  11. 在 [另存成資料頁] 對話方塊方塊按一下 [在 [儲存] 中 的 [網頁資料夾]。檔案名稱] 方塊中輸入下列命令:
    http:// ServerName / FolderName /dapGroupWiz.htm
  12. 按一下 [儲存]。
  13. 按一下 [檢視] 功能表 頁面檢視。您也可以開啟包含 Microsoft Internet Explorer 的 dapGroup.htm 頁。
  14. 按一下展開控制項 (+) 以查看每個順序的詳細資訊。

手動建立頁面

  1. 開啟您在精靈] 的步驟 1 」 使用 「 頁面 」 一節中所建立的 Northwind.mdb 共用的複本。
  2. 在 [資料庫] 視窗中按一下 [物件,] 下的 [網頁],然後按一下 [新增]。嗎不選取任何項目在 [選擇資料表或查詢物件的資料來源] 方塊,,然後按一下 [確定]
  3. 在工具箱確定已啟用 [控制項精靈]。
  4. 在 [欄位] 清單中,連按兩下 [訂單編號][收貨人],以及 [訂單日期] 將它們加入至頁面]。
  5. 在 [欄位] 清單展開 相關表格,然後拖曳至下方 [首頁的 [訂單明細: 訂單] 區段。 在交付滑鼠按鈕前您應該會看到一個區段新增,寫著 [建立新的區段下訂單
  6. 按一下 [表格式版面配置精靈 中,然後按一下 [確定]
  7. 在 [頁首] 上按一下滑鼠右鍵: 訂單區段,然後按一下 [群組層級屬性資料頁大小] 屬性變更為 1
  8. 在 [檔案] 功能表上按一下 [儲存]。
  9. 在 [另存成資料頁] 對話方塊方塊按一下 [在 [儲存] 中 的 [網頁資料夾]。檔案名稱] 方塊中輸入下列命令:
    http:// ServerName / FolderName /dapGroupWiz.htm
  10. 按一下 [儲存]。
  11. 按一下 [檢視] 功能表 頁面檢視。您也可以開啟包含 Microsoft Internet Explorer 的 dapGroup.htm 頁。
  12. 按一下展開控制項 (+) 以查看每個順序的詳細資訊。

建立範例網頁

如果您打算使用框架組、 一個超連結或內嵌框架,請遵循本章節中的步驟。這些步驟會建立範例的主要網頁 dapFrameset.htm、 dapHyperlink.htm 和 dapIFrame.htm。它們也會示範如何建立相依頁面 dapOrderDetails.htm 您連結至主網頁。
  1. 開啟您在精靈] 的步驟 1 」 使用 「 頁面 」 一節中所建立的 Northwind.mdb 共用的複本。
  2. 在 [訂貨主檔] 資料表為基礎的設計檢視中建立新頁面,然後再將下列欄位從欄位清單加入至頁面:
    • [訂單編號] 欄位
    • [收貨人]
    • [訂單日期]

  3. 在 [檔案] 功能表上按一下 [儲存]。
  4. 在 [另存成資料頁] 對話方塊方塊按一下 [在 [儲存] 中 的 [網頁資料夾]。檔案名稱] 方塊中輸入下列命令:
    http:// ServerName / FolderName /dapFrameset.htm
  5. 按一下 [儲存]。
  6. 在 [檔案] 功能表上按一下 [另存]。
  7. 另存 新檔] 對話方塊鍵入 dapHyperlink,再按 [確定]
  8. 在 [另存為資料頁] 對話方塊請確定 儲存位置] 清單中仍指向 ServerName 上的 FolderName檔案名稱] 方塊中輸入 dapHyperlink.htm,然後按一下 [儲存]。
  9. 重複步驟 6 到 8,但使用 dapIFrame 代替 dapHyperlink
  10. 建立新頁在設計檢視中的 [訂單明細] 資料表為基礎的然後將 [數量] 欄位從欄位清單新增至網頁。
  11. [訂單明細] 表格之下展開 相關表格,然後再新增 [從 Products 資料表的 [產品名稱] 欄位。
  12. 在頁面上按一下滑鼠右鍵,然後按一下 [群組層級屬性]。 將 [資料頁大小] 屬性設定為 5
  13. 在 [檔案] 功能表上按一下 [儲存]。
  14. 在 [另存成資料頁] 對話方塊方塊按一下 [在 [儲存] 中 的 [網頁資料夾]。檔案名稱] 方塊中輸入下列命令:
    http:// ServerName / FolderName /dapOrderDetails.htm
  15. 按一下 [儲存]。
  16. 關閉任何開啟的網頁。

使用框架組

這個方法在您以指出 dapFrameset.htm 和 dapOrderDetails.htm 網頁的框架組來建立一個 HTML 檔案。這個方法會提供最大的彈性,藉由允許您一次看到這兩個頁面、 更新這些網頁中的記錄並編輯內存取這些網頁設計。
  1. 開啟您在精靈] 的步驟 1 」 使用 「 頁面 」 一節中所建立的 Northwind.mdb 共用的複本。
  2. 在 [資料庫] 視窗中按一下 dapFrameset.htm] 頁面,然後按一下 [設計]。
  3. 在 [工具] 功能表上指向 [巨集,然後按一下 [Microsoft Script 編輯器]。
  4. 按一下 MSODSC用戶端物件及事件 方塊。 按一下 [目前 在 [事件] 方塊。重要: 當您建立 MSODSC 事件的 VBScript 區塊時,您必須將參數加入事件名稱,如下所示:
    <指令碼語言 = vbscript FOR = MSODSC EVENT=Current(oEventInfo) >
    <i>oEventInfo</i> 參數傳回事件的特定資訊到指令碼。您必須將這個參數會使用,因為指令碼將無法運作沒有它。
    <SCRIPT LANGUAGE=vbscript FOR=MSODSC EVENT=Current(oEventInfo)>
    <!--
    dim Loc
    dim Ser
    
    Loc = "http://<ServerName>/<FolderName>/dapOrderDetails.htm?serverfilter="
    Ser = chr(34) & "Orderid=" & orderid.value & chr(34)
    Loc = Loc & Ser
    
    window.parent.frames("BotFrm").location = Loc
    -->
    </SCRIPT>
    					
  5. 在 [檔案] 功能表上按一下 [儲存]。
  6. 按一下 [檔案] 功能表 [結束],以返回 Access。
  7. 使用的 HTML 或文字的編輯器建立下列的 HTML 網頁:
    <HTML>
       <FRAMESET ROWS="50%, 50%">
          <FRAME ID="TopFrm" NAME="Top" SRC="dapFrameset.htm">
          <FRAME ID="BotFrm" NAME="Bottom">
       </FRAMESET>
    </HTML>
    					
  8. 在 Web 伺服器上將這個檔案儲存成 OrdersFrameset.htm 在同一個資料夾中。
  9. 使用 Microsoft Internet Explorer 開啟 OrdersFrameset.htm。

使用超連結

在這個方法,請在開啟 dapOrderDetails.htm 頁面之前,請先套用篩選器 dapHyperlink.htm 頁面上建立超連結。使用這個方法可以在兩個網頁中更新資料錄,並修改網頁的設計。但是,您不能在同一時間輕鬆地檢視兩頁。
  1. 開啟您在精靈] 的步驟 1 」 使用 「 頁面 」 一節中所建立的 Northwind.mdb 共用的複本。
  2. 在 [資料庫] 視窗中按一下 dapHyperlink.htm] 頁面,然後按一下 [設計]。
  3. 按一下 頁首: 訂單 區段。
  4. 插入] 功能表上按一下 [超連結]。
  5. 在 [插入超連結] 對話方塊按一下 [連結至,] 下的 [這個資料庫中的頁面,然後按一下 [dapOrderDetails。在 [要顯示的文字] 方塊中,鍵入 [顯示詳細資料]。按一下 [伺服器篩選] 按鈕並在 篩選準則] 資料存取頁] 方塊鍵入 [訂單編號] = [訂單編號],然後按一下 [確定] 兩次以關閉 [插入超連結] 對話方塊。
  6. 在 [檔案] 功能表上按一下 [儲存]。
  7. 按一下 [檢視] 功能表 頁面檢視。您也可以開啟包含 Microsoft Internet Explorer 的 dapHyperlink.htm 頁。
  8. 按一下 [顯示詳細資料]。

使用內置框架

這個方法在您修改 dapIFrame.htm 頁面,以包含指向 dapOrderDetails.htm 頁面內置框架。這個方法會提供讓您一次看到兩個網頁,並更新的記錄能有彈性。
  1. 開啟您在精靈] 的步驟 1 」 使用 「 頁面 」 一節中所建立的 Northwind.mdb 共用的複本。
  2. 在 [資料庫] 視窗中按一下 dapIFrame] 頁面,然後按一下 [設計]。
  3. 在 [工具] 功能表上指向 [巨集,然後按一下 [Microsoft Script 編輯器]。
  4. 按一下 MSODSC用戶端物件及事件 方塊。 按一下 [目前 在 [事件] 方塊。重要: 當您建立 MSODSC 事件的 VBScript 區塊時,您必須將參數加入事件名稱,如下所示:
    <指令碼語言 = vbscript FOR = MSODSC EVENT=Current(oEventInfo) >
    <i>oEventInfo</i> 參數傳回事件的特定資訊到指令碼。您必須將這個參數會使用,因為指令碼將無法運作沒有它。
    <SCRIPT LANGUAGE=vbscript FOR=MSODSC EVENT=Current(oEventInfo)>
    <!--
    dim Loc
    dim Ser
    
    Loc = "http://<ServerName>/<FolderName>/dapOrderDetails.htm?serverfilter="
    Ser = chr(34) & "Orderid=" & orderid.value & chr(34)
    Loc = Loc & Ser
    
    window.frames("IFrm").location = Loc
    -->
    </SCRIPT>
    					
  5. 在 [檔案] 功能表上按一下 [儲存]。
  6. 加入下列的 HTML 程式碼,只需關閉 BODY 標籤前
    <IFRAME ID="IFrm" HEIGHT=45% WIDTH=80%></IFRAME>
    					
  7. 在 [檔案] 功能表上按一下 [儲存]。
  8. 按一下 [檔案] 功能表 的 [結束
  9. 使用 Microsoft Internet Explorer 開啟 dapIFrame.htm 頁面。

屬性

文章編號: 291803 - 上次校閱: 2006年9月27日 - 版次: 4.4
這篇文章中的資訊適用於:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
關鍵字:?
kbmt kbprogramming kbscript kbdapscript kbhowto KB291803 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:291803
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見