InfoPath2003 教程

InfoPath 教程 使用指南將InfoPath表單連接到Access數據庫
 
適用於
Microsoft Office InfoPath™ 2003 Service Pack 1
Microsoft Office Access 2003

簡介

通過使用 Microsoft Office InfoPath,您可以設計連接到 Microsoft Office Access 數據庫的表單。通過同時使用這兩個程序,您可以充分感受到 InfoPath 的數據集合優勢以及 Access 的數據存儲優勢。

InfoPath 的優點包括:用戶可以在脫機時填寫表單,擁有大量易於設計和填寫的控件以及在表單連接到數據庫時可自動導入的數據驗證 (數據驗證:測試數據準確性的過程;可應用到控件以指定用戶可輸入的數據類型和範圍的一組規則。)規則。

連接到 Access 數據庫的 InfoPath 表單

將 InfoPath 表單連接到 Access 數據庫時,您可以選擇是否將數據庫設置爲表單的主數據源 (數據源:爲 InfoPath 表單定義和存儲數據的域和組的集合。表單中的控件綁定到數據源中的域和組。)或輔助數據源。如果希望能夠通過在 InfoPath 表單中填寫字段來編輯記錄並向數據庫中添加記錄,您應該將數據庫設置爲表單的主數據源。

本文說明了如何將用於表單的數據庫設置爲主數據源,方法如下:

  • 將表單連接到數據庫
  • 設計表單版面
  • 自定義表單的提交選項
  • 填寫表單的同時進行數據查詢和提交。

安裝程序要求

要完成本文中的課程,您的計算機上必須裝有 Access 2003 和用於 Access 的羅斯文示例數據庫。默認情況下,示例數據庫將安裝在您計算機的以下位置:C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\。

註釋  如果在計算機上找不到羅斯文示例數據庫,您可能需要安裝該數據庫。要進行安裝,請啓動 Access,指向“幫助”菜單上的“示例數據庫,然後單擊“羅斯文示例數據庫

 

第 1 課:創建表單

本課講述如何創建新的 InfoPath 表單,以及如何使用“數據連接嚮導”將表單連接到 Access 中的羅斯文示例數據庫。完成本課後,您的表單將被連接到羅斯文示例數據庫中的兩個表上,然後您就能夠添加、編輯並查詢那些表中的記錄了。

要將 Access 數據庫用作 InfoPath 表單的主數據源,必須以一個新表單開始。您無法修改現有的表單以向主數據源中添加連接。請按照以下步驟創建基於 Access 中示例數據庫的新 InfoPath 表單:

  1. “文件”菜單上,單擊“設計表單”
  2. “設計表單”任務窗格中,單擊“根據數據連接新建”
  3. 在“數據連接嚮導”的第一頁上,單擊數據庫(僅 Microsoft SQL Server 或 Microsoft Office Access)”,然後單擊“下一步”
  4. 在下一向導頁上,單擊“選擇數據庫
  5. “選擇數據源”對話框中,瀏覽到計算機上的羅斯文示例數據庫,然後雙擊數據庫

    數據庫的默認位置爲:<驅動器>:\Program Files\Microsoft Office\OFFICE11\SAMPLES。

  6. “選擇表”對話框的“名稱”下,單擊“供應商”表,然後單擊“確定”

通過先選擇“供應商”表,您將“供應商”表設置爲數據連接 (數據連接:InfoPath 表單和外部源之間的連接,例如,數據庫、Web 服務、SharePoint 庫或 XML 文件都是外部源。數據連接用於查詢和提交數據。)的主表。現在您必須將“產品”表添加到數據連接中。與此同時,這些表將創建一個一對多的關係,這意味着每位供應商可提供多種產品。在 Access 中,通過使用將一個表中的記錄與另一個表中的記錄相關聯的鍵字段定義此關係。

在此一對多的關係中,“一”端的表中包含一個主鍵字段,唯一指定了表中的每個記錄。“多”端的表中包含一個外鍵字段,該字段與其他表的主鍵相匹配。主鍵字段和外鍵字段常常使用同一名稱。在這種情況下,“供應商”表中包含主鍵字段“供應商 ID”,“產品”表中包含外鍵字段“供應商 ID”。

將表單連接到數據庫中的多個表上時,InfoPath 要求使用鍵字段將這些表連接起來。此外,數據連接中的主表必須有一個與您添加的任何其他表相對應的一對多連接或一對一連接。

向您的表單添加主表後,您就可以添加其他表了:

  1. 在“數據連接嚮導”中,單擊“添加表”
  2. “添加表或查詢”對話框的“表”下,單擊“產品”,然後單擊“下一步”
  3. “編輯關係”對話框中,確保“連接域”下的兩列均被設置爲“供應商 ID”,然後單擊“完成”

    註釋  InfoPath 假定各表中帶匹配名稱的字段都是鍵字段。如果您設置的數據連接不屬於這種情況,則需要指定鍵字段。

默認情況下,InfoPath 將連接到表中的所有字段。但是,您可能希望排除某個字段,因爲該字段使用了 InfoPath 無法連接到的數據類型 (數據類型:域的屬性,定義該域可存儲的數據種類。數據類型包括文本、格式文本、整數、小數、真/假、超鏈接、日期和時間以及圖片等。),或者您不想使表中某一特定字段的值起作用。在本課中,您必須排除主頁字段,因爲它是一種 InfoPath 不支持的“超鏈接”數據類型。“超鏈接”數據類型與“備註”數據類型相似,也是一種長數據類型。因此,InfoPath 無法連接到“超鏈接”數據類型。

  1. 在“數據連接嚮導”中,選擇“顯示錶列”複選框。
  2. 清除“主頁”複選框。

在完成“數據連接嚮導”之前,必需命名數據連接並驗證所創建的連接是否正確建立:

  1. 在“數據連接嚮導”中,單擊“下一步”
  2. 在嚮導的下一頁上,將數據連接的名稱鍵入“輸入該數據連接的名稱”框,然後閱讀“摘要”框中的信息。該框應指定連接類型(檢索數據並將其提交到數據庫)、數據庫的位置、主表的名稱(供應商)、表的數量 (2)以及該表單提交已啓用。
  3. 在您驗證“摘要”框中的信息完全正確後,單擊“完成”

最後生成的表單應包含查詢數據的“視圖” (視圖:表單特定的顯示設置,可通過表單模板來保存,並可在填寫表單時應用到表單數據中。用戶可在視圖之間進行切換,以便選擇表單中顯示的數據量。)按鈕、輸入新記錄的按鈕以及兩個可向其插入控件的表。

InfoPath 查看

在您繼續下一課之前,應保存表單:

  1. “文件”菜單中,單擊“另存爲”
  2. 如果系統提示您保存或發佈文件,單擊“保存”
  3. “另存爲”對話框中,瀏覽到要在其中保存表單的位置。
  4. “文件名”框中,鍵入 供應商和產品

 

第 2 課:查看 InfoPath 數據源

在 InfoPath 表單與 Access 數據庫之間創建主數據連接時,InfoPath 將基於 Access 數據庫的結構創建數據結構。具體地講,InfoPath 將創建與數據庫中的字段和表相匹配的字段和組。例如,InfoPath 將在數據源中創建一個與 Access 中的“產品”表相對應的“產品”組。對於“產品”表中的每個字段,InfoPath 數據源中都有一個與之對應的字段。

註釋  由於 InfoPath 先存儲數據,然後再將數據提交給 Access,因此您可以將信息輸入表單中—  即使處於脫機狀態,也可以—  在您準備好後,將該信息提交到數據庫

對於主數據連接,InfoPath 實際上創建了兩個非常相似的數據結構:一組查詢字段和一組數據字段。您可以使用查詢字段將值輸入到表單中,然後查詢數據庫。同時,您可以使用數據字段向數據庫中輸入新的記錄並修改數據庫中現有的記錄。每組字段都與數據庫中的表和字段相匹配。

要想更好地瞭解 InfoPath 數據結構是如何關聯到 Access 數據結構的,最好查看一下表單中的數據字段。

  1. 要查看數據字段,在“數據源”任務窗格中,展開“dataFields”組。
  2. 展開“d:供應商”組,然後展開“產品”組。

最後生成的數據結構應像這樣:

表單的數據結構

請該注意數據結構與 Access 數據庫中的兩個表的相似程度。

表的數據結構和數據庫的數據結構

 

標註 1 “供應商”組包含“產品”組。

標註 2 “供應商”表與“產品”表形成一對多關係。

 

對於 Access 數據庫中的每個表,InfoPath 表單中都有一個與之對應的組。對於 Access 表中的每個字段,InfoPath 組中都有一個與之對應的字段。此外,組和字段之間與字段和表之間都有一個與之對應的組—  這是因爲每個供應商都可能有多種產品。

第 3 課:設計表單版面

基於 Access 示例數據庫創建了表單並且熟悉了 InfoPath 數據源後,現在您可以開始設計表單版面了。要創建用戶可向其中輸入信息的控件,您可以從“數據源”任務窗格中將字段和組拖到表單上。將一個字段拖到表單時,InfoPath 將創建一個控件,如一個文本框;將一組字段拖到表單上時,InfoPath 將創建一組控件,如一個包含一組文本框的節。

 

隱藏提示

添加到表單中的控件的類型和特性取決於字段的類型,而字段的類型取決於 Access 數據庫中的特定字段。例如,數據類型是“日期”的 Access 字段會生成數據類型是“日期”的 InfoPath 字段。如果您將該類型的字段拖到表單上,在默認情況下,InfoPath 將創建一個日期選取器。

 

當您創建基於數據庫的表單時,InfoPath 將創建具有兩個版式表的單一視圖。在第一個表中,可以添加查詢字段,它能夠使您的用戶查詢用於記錄的數據庫。在第二個表中,可以添加數據條目字段,它能夠使您的用戶修改現有記錄並向數據庫中添加新的記錄。

處理查詢字段之前,必須向表單添加 dataFields 的完整組,它會在您的表單中實現一組完整的控件。然後可以刪除任何不必要的控件。有些控件是不需要的,因爲這些控件包含了多餘的信息,或者包含的信息不適用於您所使用的兩個表。例如,“類別 ID”文本框就是不需要的,因爲它用於與“類型”表建立關係,而在本數據連接中不使用此功能。

註釋  刪除控件並不會刪除數據源中的基礎字段。例如,當您刪除類別 ID 文本框時,類別 ID 字段仍然存在於數據源中並且可能包含數據。

  1. 在表單中,將插入點放在包含文本“將數據字段拖動到此處”版式表格中。
  2. “數據源”任務窗格中,右鍵單擊“dataFields”組,然後在快捷菜單上單擊“帶有控件的節”。這樣就爲您用以修改和添加記錄的所有字段插入了控件。
  3. 在表單中,選擇“供應商 ID”文本框和“類別 ID”文本框的第二個實例(包括它們的標籤),然後按 Delete。

InfoPath 通過使用重複節 (重複節:表單上包含其他控件且可根據需要進行重複的控件。填寫表單時,用戶可插入多個節。)啓用多個記錄。在此表單中,用戶可輸入多個供應商以及每個供應商的多個產品。表單中的控件反映了此項功能—  產品控件位於一個重複節中,後者包含在“供應商”重複節中,如以下示例所示。

產品節嵌套在供應商節中

爲了便於用戶使用這些重複節,請按照以下步驟添加邊框和底紋並插入描述性標題:

  1. 右鍵單擊表單上出現的第二個“重複節”標籤,然後單擊快捷菜單上的“邊框和底紋”
  2. “邊框和底紋”對話框中的“邊框”選項卡上,單擊“彩色”框中的一種顏色。
  3. “寬度”框中,單擊“3 pt”
  4. “預設”下,單擊“大綱”,然後單擊“確定”
  5. 右鍵單擊表單上出現的第一個“重複節”標籤,然後單擊快捷菜單上的“邊框和底紋”
  6. “邊框和底紋”對話框中,單擊“底紋”選項卡,然後單擊“顏色”框中的一種顏色。
  7. 單擊“確定”
  8. 在表單中“供應商”重複節的前面鍵入 數據輸入
  9. 在“供應商”重複節中,將插入點放在“供應商 ID”標籤前面,然後按 Enter。
  10. 鍵入 供應商
  11. 在“產品”重複節中,將插入點放在“產品 ID”標籤前面,然後按 Enter。
  12. 鍵入 產品
  13. 將剛纔鍵入的所有文本設成粗體。

表單數據輸入部分的版式表格現在看起來類似於下面這樣。

數據輸入的版式表格

通過在表單中輸入數據向 Access 數據庫提交新的記錄時,Access 將自動創建“供應商 ID”。正因如此,您的用戶纔不必編輯或鍵入新的供應商 ID,這表明您可以將“供應商 ID”文本框的屬性設置爲只讀,以防止用戶試圖修改該值。要將“供應商 ID”文本框屬性設置爲只讀,請按照以下說明操作:

  1. 雙擊“供應商 ID”文本框。
  2. “文本框屬性”對話框中,單擊“顯示”選項卡,然後選擇“只讀”複選框。

您已完成表單數據輸入部分的版面設計。您現在可以處理查詢部分了,用戶可在其中輸入值以向數據庫查詢現有記錄。

 

第 4 課:處理按鈕和查詢字段

創建用於查詢數據的控件之前,讓我們來看一下添加到表單中的兩個按鈕:“新建記錄”“運行查詢”按鈕。本課將解釋這些按鈕的作用並用演示如何對其進行修改。

“運行查詢”按鈕基於前一個控件中的值查詢數據庫。然後數據庫返回與那些值匹配的任何記錄。例如,如果您在“公司名稱”框中輸入 Tokyo Traders ,然後單擊“運行查詢”按鈕,則會返回有關 Tokyo Traders 供應商的記錄,以及 Tokyo Traders 提供的所有產品。返回的記錄顯示在表單的數據輸入部分,在其中可進行編輯並隨後將更改後的內容提交到數據庫

“新建記錄”按鈕清除表單數據輸入部分中的值,允許您輸入新的供應商及其產品。

爲幫助您的用戶更好地理解表單的查詢和數據輸入部分的區別,您可以向表單中添加標題和文本:

  1. 將插入點放到包含文本“單擊此處添加標題”的版式表格單元格中,然後鍵入 供應商和產品
  2. 將插入點放到包含文本“單擊此處添加表單內容”的版式表格單元格中,然後鍵入 要查詢供應商,請在查詢表中的一個或多個框中鍵入值,然後單擊“運行查詢”。要輸入一個新記錄,請單擊“新建記錄”,然後在數據輸入表中鍵入值。

接下來,您可以向表單的查詢部分添加標題和控件:

  1. 將插入點放到包含文本“將查詢字段拖到此處”的版式表格中,鍵入 查詢,然後將文本設爲粗體。
  2. 按 Enter。
  3. “數據源”任務窗格中,單擊“queryFields”組展開它。
  4. 右鍵單擊“q:供應商”組,然後單擊快捷菜單中的“版式表格中的控件”。這將插入基於供應商查詢數據庫記錄的控件。另外,還在版式表格中設計控件和標籤的版式。

    註釋  也可以使用此方法設計數據輸入控件的版式。

繼續之前,讓我們刪除對您的用戶來說多餘的控件。這裏,我們假設用戶僅基於供應商的 ID、公司名稱和國家/地區來查詢值。

  1. 在剛纔添加到表單的查詢表中,右鍵單擊“聯繫人姓名”行,指向快捷菜單中的“刪除”,然後單擊“行”
  2. 刪除餘下的行,不包括“供應商 ID”“公司名稱”“國家/地區”

現在,您的用戶可以查詢“供應商”表中的值、修改返回的記錄、添加新記錄並將結果提交回數據庫

第 5 課:自定義提交選項

用戶填寫表單時,可以修改現有的記錄並添加新的記錄。要用所做的修改更新數據庫,必須將完成後的表單提交到數據庫。默認情況下,InfoPath 的“提交”命令在“文件”菜單和“常用”工具欄中都可用,以便用戶可以輕鬆提交完成後的表單。除了這些選項,直接在表單中提供可使用戶提交數據的按鈕也很有用。本課講述瞭如何爲表單設置標準的“提交”按鈕和自定義其他提交選項。

  1. 將插入點放置在表單的末尾。確保不在重複節內。
  2. “插入”菜單中,單擊“其他控件”
  3. “控件”任務窗格的“插入控件”列表中,單擊“按鈕”
  4. 雙擊插入到表單中的按鈕圖標。
  5. “按鈕屬性”對話框的“操作”列表中,單擊“提交”
  6. “提交表單”對話框的“提交到”框中,單擊數據庫,然後單擊“確定”
  7. “按鈕屬性”對話框的“標籤”框中,鍵入 提交表單

您已經將“提交”按鈕添加到了表單中,現在可以設置表單,使表單在提交後關閉並打開一個新的空白表單。另外,您可以編寫自己的消息,指定是否成功提交了表單:

  1. “工具”菜單中,單擊“提交表單”
  2. “提交表單”對話框中,單擊“提交選項”
  3. “提交選項”對話框中,單擊“新建空白表單”
  4. 選擇“顯示自定義消息”複選框。
  5. “成功消息”框中,鍵入 供應商和產品信息已更新。
  6. “失敗消息”框中,鍵入 數據提交不成功。請重試。
  7. 保存表單以確保保留所做的更改。

第 6 課:查詢、編輯和添加記錄

您已經完成了表單的創建並將其連接到了 Access 數據庫,現在應該對錶單進行測試以確保可供用戶正常使用。在本課中,您將扮演用戶的角色,通過查詢數據庫、修改現有記錄以及添加新記錄來測試表單。

首先,您應該嘗試打開一個新的表單並添加新記錄:

  1. “文件”菜單上,單擊“填寫表單”
  2. “填寫表單”對話框中,單擊“供應商和產品”

    註釋  如果您沒有看到“供應商和產品”表單,單擊“打開”瀏覽到您的表單。

  3. 要輸入一個新記錄,請在“公司名稱”框中鍵入Coho Winery

    註釋  您不需要鍵入供應商 ID,因爲在提交記錄時,Access 會自動創建供應商 ID。

  4. “產品名稱”框中,鍵入 Merlot
  5. 在“產品”重複節下,單擊插入項目在表單中插入其他產品。
  6. 在第二個“產品名稱”框中,鍵入 Chardonnay,然後單擊“提交表單”
  7. 如果出現一個對話框,詢問您是否允許網頁訪問其他域上的數據,單擊“是”

應該出現一個說明供應商和產品信息已被成功更新的對話框;單擊“確定”後,該表單應關閉,並打開一個新的表單。

您已經驗證了用戶可以使用您的表單向數據庫中添加新記錄,現在可以嘗試修改其中一個記錄:

  1. 在表單查詢部分的“公司名稱”框中,鍵入 Coho Winery,然後單擊“運行查詢”
  2. 如果出現一個對話框,詢問您是否允許網頁訪問其他域上的數據,單擊“是”

    表單的數據輸入部分應該顯示您在前面的練習中輸入的供應商和兩個產品。

  3. 在 Merlot 記錄的“單位數量”框中,鍵入 12
  4. 在 Chardonnay 記錄中,單擊顯示在選擇的節左上角的快捷菜單按鈕 按鈕圖像 ,然後單擊“刪除產品”。 Chardonnay 記錄隨即從表單中被刪除。
  5. 單擊“提交表單”
  6. 如果出現一個對話框,詢問您是否允許網頁訪問其他域上的數據,單擊“是”

Chardonnay 記錄將從數據庫中被刪除,而 Merlot 記錄將在數據庫中被更新。這時應該出現一個對話框,指出供應商和產品信息已成功更新。當您單擊“確定”時,該表單應關閉並打開一個新表單。

總結

將這些步驟應用於您自己的數據庫時,請記住以下關鍵問題:

  • 在 Access 數據庫和 InfoPath 表單之間建立主數據連接時,必須從新建表單開始。
  • 將您的表單與多個表連接時,必須使用關鍵字段將這些表連接起來。
  • 確保排除長數據類型(包括“備註”和“超鏈接”數據類型)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章