InfoPath2003 教程
| InfoPath 教程 使用指南將InfoPath表單連接到Access數(shù)據(jù)庫(kù) | ||
| ? | ||
簡(jiǎn)介通過使用 Microsoft Office InfoPath,您可以設(shè)計(jì)連接到 Microsoft Office Access 數(shù)據(jù)庫(kù)的表單。通過同時(shí)使用這兩個(gè)程序,您可以充分感受到 InfoPath 的數(shù)據(jù)集合優(yōu)勢(shì)以及 Access 的數(shù)據(jù)存儲(chǔ)優(yōu)勢(shì)。 InfoPath 的優(yōu)點(diǎn)包括:用戶可以在脫機(jī)時(shí)填寫表單,擁有大量易于設(shè)計(jì)和填寫的控件以及在表單連接到數(shù)據(jù)庫(kù)時(shí)可自動(dòng)導(dǎo)入的數(shù)據(jù)驗(yàn)證?(數(shù)據(jù)驗(yàn)證:測(cè)試數(shù)據(jù)準(zhǔn)確性的過程;可應(yīng)用到控件以指定用戶可輸入的數(shù)據(jù)類型和范圍的一組規(guī)則。)規(guī)則。 將 InfoPath 表單連接到 Access 數(shù)據(jù)庫(kù)時(shí),您可以選擇是否將數(shù)據(jù)庫(kù)設(shè)置為表單的主數(shù)據(jù)源?(數(shù)據(jù)源:為 InfoPath 表單定義和存儲(chǔ)數(shù)據(jù)的域和組的集合。表單中的控件綁定到數(shù)據(jù)源中的域和組。)或輔助數(shù)據(jù)源。如果希望能夠通過在 InfoPath 表單中填寫字段來編輯記錄并向數(shù)據(jù)庫(kù)中添加記錄,您應(yīng)該將數(shù)據(jù)庫(kù)設(shè)置為表單的主數(shù)據(jù)源。 本文說明了如何將用于表單的數(shù)據(jù)庫(kù)設(shè)置為主數(shù)據(jù)源,方法如下:
安裝程序要求要完成本文中的課程,您的計(jì)算機(jī)上必須裝有 Access 2003 和用于 Access 的羅斯文示例數(shù)據(jù)庫(kù)。默認(rèn)情況下,示例數(shù)據(jù)庫(kù)將安裝在您計(jì)算機(jī)的以下位置:C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\。 注釋??如果在計(jì)算機(jī)上找不到羅斯文示例數(shù)據(jù)庫(kù),您可能需要安裝該數(shù)據(jù)庫(kù)。要進(jìn)行安裝,請(qǐng)啟動(dòng) Access,指向“幫助”菜單上的“示例數(shù)據(jù)庫(kù)”,然后單擊“羅斯文示例數(shù)據(jù)庫(kù)”。 ? 第 1 課:創(chuàng)建表單本課講述如何創(chuàng)建新的 InfoPath 表單,以及如何使用“數(shù)據(jù)連接向?qū)А睂⒈韱芜B接到 Access 中的羅斯文示例數(shù)據(jù)庫(kù)。完成本課后,您的表單將被連接到羅斯文示例數(shù)據(jù)庫(kù)中的兩個(gè)表上,然后您就能夠添加、編輯并查詢那些表中的記錄了。 要將 Access 數(shù)據(jù)庫(kù)用作 InfoPath 表單的主數(shù)據(jù)源,必須以一個(gè)新表單開始。您無法修改現(xiàn)有的表單以向主數(shù)據(jù)源中添加連接。請(qǐng)按照以下步驟創(chuàng)建基于 Access 中示例數(shù)據(jù)庫(kù)的新 InfoPath 表單: 該數(shù)據(jù)庫(kù)的默認(rèn)位置為:<驅(qū)動(dòng)器>:\Program Files\Microsoft Office\OFFICE11\SAMPLES。 通過先選擇“供應(yīng)商”表,您將“供應(yīng)商”表設(shè)置為數(shù)據(jù)連接?(數(shù)據(jù)連接:InfoPath 表單和外部源之間的連接,例如,數(shù)據(jù)庫(kù)、Web 服務(wù)、SharePoint 庫(kù)或 XML 文件都是外部源。數(shù)據(jù)連接用于查詢和提交數(shù)據(jù)。)的主表。現(xiàn)在您必須將“產(chǎn)品”表添加到數(shù)據(jù)連接中。與此同時(shí),這些表將創(chuàng)建一個(gè)一對(duì)多的關(guān)系,這意味著每位供應(yīng)商可提供多種產(chǎn)品。在 Access 中,通過使用將一個(gè)表中的記錄與另一個(gè)表中的記錄相關(guān)聯(lián)的鍵字段定義此關(guān)系。 在此一對(duì)多的關(guān)系中,“一”端的表中包含一個(gè)主鍵字段,唯一指定了表中的每個(gè)記錄。“多”端的表中包含一個(gè)外鍵字段,該字段與其他表的主鍵相匹配。主鍵字段和外鍵字段常常使用同一名稱。在這種情況下,“供應(yīng)商”表中包含主鍵字段“供應(yīng)商 ID”,“產(chǎn)品”表中包含外鍵字段“供應(yīng)商 ID”。 將表單連接到數(shù)據(jù)庫(kù)中的多個(gè)表上時(shí),InfoPath 要求使用鍵字段將這些表連接起來。此外,數(shù)據(jù)連接中的主表必須有一個(gè)與您添加的任何其他表相對(duì)應(yīng)的一對(duì)多連接或一對(duì)一連接。 向您的表單添加主表后,您就可以添加其他表了: 注釋??InfoPath 假定各表中帶匹配名稱的字段都是鍵字段。如果您設(shè)置的數(shù)據(jù)連接不屬于這種情況,則需要指定鍵字段。 默認(rèn)情況下,InfoPath 將連接到表中的所有字段。但是,您可能希望排除某個(gè)字段,因?yàn)樵撟侄问褂昧?InfoPath 無法連接到的數(shù)據(jù)類型?(數(shù)據(jù)類型:域的屬性,定義該域可存儲(chǔ)的數(shù)據(jù)種類。數(shù)據(jù)類型包括文本、格式文本、整數(shù)、小數(shù)、真/假、超鏈接、日期和時(shí)間以及圖片等。),或者您不想使表中某一特定字段的值起作用。在本課中,您必須排除主頁(yè)字段,因?yàn)樗且环N InfoPath 不支持的“超鏈接”數(shù)據(jù)類型。“超鏈接”數(shù)據(jù)類型與“備注”數(shù)據(jù)類型相似,也是一種長(zhǎng)數(shù)據(jù)類型。因此,InfoPath 無法連接到“超鏈接”數(shù)據(jù)類型。 在完成“數(shù)據(jù)連接向?qū)А敝?#xff0c;必需命名數(shù)據(jù)連接并驗(yàn)證所創(chuàng)建的連接是否正確建立: 最后生成的表單應(yīng)包含查詢數(shù)據(jù)的“視圖”?(視圖:表單特定的顯示設(shè)置,可通過表單模板來保存,并可在填寫表單時(shí)應(yīng)用到表單數(shù)據(jù)中。用戶可在視圖之間進(jìn)行切換,以便選擇表單中顯示的數(shù)據(jù)量。)按鈕、輸入新記錄的按鈕以及兩個(gè)可向其插入控件的表。 在您繼續(xù)下一課之前,應(yīng)保存表單: ? 第 2 課:查看 InfoPath 數(shù)據(jù)源在 InfoPath 表單與 Access 數(shù)據(jù)庫(kù)之間創(chuàng)建主數(shù)據(jù)連接時(shí),InfoPath 將基于 Access 數(shù)據(jù)庫(kù)的結(jié)構(gòu)創(chuàng)建數(shù)據(jù)結(jié)構(gòu)。具體地講,InfoPath 將創(chuàng)建與數(shù)據(jù)庫(kù)中的字段和表相匹配的字段和組。例如,InfoPath 將在數(shù)據(jù)源中創(chuàng)建一個(gè)與 Access 中的“產(chǎn)品”表相對(duì)應(yīng)的“產(chǎn)品”組。對(duì)于“產(chǎn)品”表中的每個(gè)字段,InfoPath 數(shù)據(jù)源中都有一個(gè)與之對(duì)應(yīng)的字段。 注釋??由于 InfoPath 先存儲(chǔ)數(shù)據(jù),然后再將數(shù)據(jù)提交給 Access,因此您可以將信息輸入表單中—? 即使處于脫機(jī)狀態(tài),也可以—? 在您準(zhǔn)備好后,將該信息提交到數(shù)據(jù)庫(kù)。 對(duì)于主數(shù)據(jù)連接,InfoPath 實(shí)際上創(chuàng)建了兩個(gè)非常相似的數(shù)據(jù)結(jié)構(gòu):一組查詢字段和一組數(shù)據(jù)字段。您可以使用查詢字段將值輸入到表單中,然后查詢數(shù)據(jù)庫(kù)。同時(shí),您可以使用數(shù)據(jù)字段向數(shù)據(jù)庫(kù)中輸入新的記錄并修改數(shù)據(jù)庫(kù)中現(xiàn)有的記錄。每組字段都與數(shù)據(jù)庫(kù)中的表和字段相匹配。 要想更好地了解 InfoPath 數(shù)據(jù)結(jié)構(gòu)是如何關(guān)聯(lián)到 Access 數(shù)據(jù)結(jié)構(gòu)的,最好查看一下表單中的數(shù)據(jù)字段。 最后生成的數(shù)據(jù)結(jié)構(gòu)應(yīng)像這樣: 請(qǐng)?jiān)撟⒁鈹?shù)據(jù)結(jié)構(gòu)與 Access 數(shù)據(jù)庫(kù)中的兩個(gè)表的相似程度。 ? “供應(yīng)商”組包含“產(chǎn)品”組。 “供應(yīng)商”表與“產(chǎn)品”表形成一對(duì)多關(guān)系。 ? 對(duì)于 Access 數(shù)據(jù)庫(kù)中的每個(gè)表,InfoPath 表單中都有一個(gè)與之對(duì)應(yīng)的組。對(duì)于 Access 表中的每個(gè)字段,InfoPath 組中都有一個(gè)與之對(duì)應(yīng)的字段。此外,組和字段之間與字段和表之間都有一個(gè)與之對(duì)應(yīng)的組—? 這是因?yàn)槊總€(gè)供應(yīng)商都可能有多種產(chǎn)品。 第 3 課:設(shè)計(jì)表單版面基于 Access 示例數(shù)據(jù)庫(kù)創(chuàng)建了表單并且熟悉了 InfoPath 數(shù)據(jù)源后,現(xiàn)在您可以開始設(shè)計(jì)表單版面了。要?jiǎng)?chuàng)建用戶可向其中輸入信息的控件,您可以從“數(shù)據(jù)源”任務(wù)窗格中將字段和組拖到表單上。將一個(gè)字段拖到表單時(shí),InfoPath 將創(chuàng)建一個(gè)控件,如一個(gè)文本框;將一組字段拖到表單上時(shí),InfoPath 將創(chuàng)建一組控件,如一個(gè)包含一組文本框的節(jié)。 ? 提示 添加到表單中的控件的類型和特性取決于字段的類型,而字段的類型取決于 Access 數(shù)據(jù)庫(kù)中的特定字段。例如,數(shù)據(jù)類型是“日期”的 Access 字段會(huì)生成數(shù)據(jù)類型是“日期”的 InfoPath 字段。如果您將該類型的字段拖到表單上,在默認(rèn)情況下,InfoPath 將創(chuàng)建一個(gè)日期選取器。 ? 當(dāng)您創(chuàng)建基于數(shù)據(jù)庫(kù)的表單時(shí),InfoPath 將創(chuàng)建具有兩個(gè)版式表的單一視圖。在第一個(gè)表中,可以添加查詢字段,它能夠使您的用戶查詢用于記錄的數(shù)據(jù)庫(kù)。在第二個(gè)表中,可以添加數(shù)據(jù)條目字段,它能夠使您的用戶修改現(xiàn)有記錄并向數(shù)據(jù)庫(kù)中添加新的記錄。 處理查詢字段之前,必須向表單添加 dataFields 的完整組,它會(huì)在您的表單中實(shí)現(xiàn)一組完整的控件。然后可以刪除任何不必要的控件。有些控件是不需要的,因?yàn)檫@些控件包含了多余的信息,或者包含的信息不適用于您所使用的兩個(gè)表。例如,“類別 ID”文本框就是不需要的,因?yàn)樗糜谂c“類型”表建立關(guān)系,而在本數(shù)據(jù)連接中不使用此功能。 注釋??刪除控件并不會(huì)刪除數(shù)據(jù)源中的基礎(chǔ)字段。例如,當(dāng)您刪除類別 ID 文本框時(shí),類別 ID 字段仍然存在于數(shù)據(jù)源中并且可能包含數(shù)據(jù)。 InfoPath 通過使用重復(fù)節(jié)?(重復(fù)節(jié):表單上包含其他控件且可根據(jù)需要進(jìn)行重復(fù)的控件。填寫表單時(shí),用戶可插入多個(gè)節(jié)。)啟用多個(gè)記錄。在此表單中,用戶可輸入多個(gè)供應(yīng)商以及每個(gè)供應(yīng)商的多個(gè)產(chǎn)品。表單中的控件反映了此項(xiàng)功能—? 產(chǎn)品控件位于一個(gè)重復(fù)節(jié)中,后者包含在“供應(yīng)商”重復(fù)節(jié)中,如以下示例所示。 為了便于用戶使用這些重復(fù)節(jié),請(qǐng)按照以下步驟添加邊框和底紋并插入描述性標(biāo)題: 表單數(shù)據(jù)輸入部分的版式表格現(xiàn)在看起來類似于下面這樣。 通過在表單中輸入數(shù)據(jù)向 Access 數(shù)據(jù)庫(kù)提交新的記錄時(shí),Access 將自動(dòng)創(chuàng)建“供應(yīng)商 ID”。正因如此,您的用戶才不必編輯或鍵入新的供應(yīng)商 ID,這表明您可以將“供應(yīng)商 ID”文本框的屬性設(shè)置為只讀,以防止用戶試圖修改該值。要將“供應(yīng)商 ID”文本框?qū)傩栽O(shè)置為只讀,請(qǐng)按照以下說明操作: 您已完成表單數(shù)據(jù)輸入部分的版面設(shè)計(jì)。您現(xiàn)在可以處理查詢部分了,用戶可在其中輸入值以向數(shù)據(jù)庫(kù)查詢現(xiàn)有記錄。 ? 第 4 課:處理按鈕和查詢字段創(chuàng)建用于查詢數(shù)據(jù)的控件之前,讓我們來看一下添加到表單中的兩個(gè)按鈕:“新建記錄”和“運(yùn)行查詢”按鈕。本課將解釋這些按鈕的作用并用演示如何對(duì)其進(jìn)行修改。 “運(yùn)行查詢”按鈕基于前一個(gè)控件中的值查詢數(shù)據(jù)庫(kù)。然后數(shù)據(jù)庫(kù)返回與那些值匹配的任何記錄。例如,如果您在“公司名稱”框中輸入 Tokyo Traders ,然后單擊“運(yùn)行查詢”按鈕,則會(huì)返回有關(guān) Tokyo Traders 供應(yīng)商的記錄,以及 Tokyo Traders 提供的所有產(chǎn)品。返回的記錄顯示在表單的數(shù)據(jù)輸入部分,在其中可進(jìn)行編輯并隨后將更改后的內(nèi)容提交到數(shù)據(jù)庫(kù)。 “新建記錄”按鈕清除表單數(shù)據(jù)輸入部分中的值,允許您輸入新的供應(yīng)商及其產(chǎn)品。 為幫助您的用戶更好地理解表單的查詢和數(shù)據(jù)輸入部分的區(qū)別,您可以向表單中添加標(biāo)題和文本: 接下來,您可以向表單的查詢部分添加標(biāo)題和控件: 注釋??也可以使用此方法設(shè)計(jì)數(shù)據(jù)輸入控件的版式。 繼續(xù)之前,讓我們刪除對(duì)您的用戶來說多余的控件。這里,我們假設(shè)用戶僅基于供應(yīng)商的 ID、公司名稱和國(guó)家/地區(qū)來查詢值。 現(xiàn)在,您的用戶可以查詢“供應(yīng)商”表中的值、修改返回的記錄、添加新記錄并將結(jié)果提交回數(shù)據(jù)庫(kù)。 第 5 課:自定義提交選項(xiàng)用戶填寫表單時(shí),可以修改現(xiàn)有的記錄并添加新的記錄。要用所做的修改更新數(shù)據(jù)庫(kù),必須將完成后的表單提交到數(shù)據(jù)庫(kù)。默認(rèn)情況下,InfoPath 的“提交”命令在“文件”菜單和“常用”工具欄中都可用,以便用戶可以輕松提交完成后的表單。除了這些選項(xiàng),直接在表單中提供可使用戶提交數(shù)據(jù)的按鈕也很有用。本課講述了如何為表單設(shè)置標(biāo)準(zhǔn)的“提交”按鈕和自定義其他提交選項(xiàng)。 您已經(jīng)將“提交”按鈕添加到了表單中,現(xiàn)在可以設(shè)置表單,使表單在提交后關(guān)閉并打開一個(gè)新的空白表單。另外,您可以編寫自己的消息,指定是否成功提交了表單: 第 6 課:查詢、編輯和添加記錄您已經(jīng)完成了表單的創(chuàng)建并將其連接到了 Access 數(shù)據(jù)庫(kù),現(xiàn)在應(yīng)該對(duì)表單進(jìn)行測(cè)試以確保可供用戶正常使用。在本課中,您將扮演用戶的角色,通過查詢數(shù)據(jù)庫(kù)、修改現(xiàn)有記錄以及添加新記錄來測(cè)試表單。 首先,您應(yīng)該嘗試打開一個(gè)新的表單并添加新記錄: 注釋??如果您沒有看到“供應(yīng)商和產(chǎn)品”表單,單擊“打開”瀏覽到您的表單。 注釋??您不需要鍵入供應(yīng)商 ID,因?yàn)樵谔峤挥涗洉r(shí),Access 會(huì)自動(dòng)創(chuàng)建供應(yīng)商 ID。 應(yīng)該出現(xiàn)一個(gè)說明供應(yīng)商和產(chǎn)品信息已被成功更新的對(duì)話框;單擊“確定”后,該表單應(yīng)關(guān)閉,并打開一個(gè)新的表單。 您已經(jīng)驗(yàn)證了用戶可以使用您的表單向數(shù)據(jù)庫(kù)中添加新記錄,現(xiàn)在可以嘗試修改其中一個(gè)記錄: 表單的數(shù)據(jù)輸入部分應(yīng)該顯示您在前面的練習(xí)中輸入的供應(yīng)商和兩個(gè)產(chǎn)品。 Chardonnay 記錄將從數(shù)據(jù)庫(kù)中被刪除,而 Merlot 記錄將在數(shù)據(jù)庫(kù)中被更新。這時(shí)應(yīng)該出現(xiàn)一個(gè)對(duì)話框,指出供應(yīng)商和產(chǎn)品信息已成功更新。當(dāng)您單擊“確定”時(shí),該表單應(yīng)關(guān)閉并打開一個(gè)新表單。 總結(jié)將這些步驟應(yīng)用于您自己的數(shù)據(jù)庫(kù)時(shí),請(qǐng)記住以下關(guān)鍵問題:
|
轉(zhuǎn)載于:https://blog.51cto.com/gabystar/762999
總結(jié)
以上是生活随笔為你收集整理的InfoPath2003 教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Studio 统计代码行
- 下一篇: 松下PLC远程编程调试流程