你可以在表單範本中新增一個次要資料連線,查詢 Microsoft SQL Server 資料庫。 你不能在表單範本中新增一個次要資料連線,將表單資料提交到資料庫。 如果你想用次級資料連線提交表單資料到資料庫,請用次級資料連線到支援該資料庫的網路服務。 在 「參見 」章節中,可找到更多關於為網路服務新增次級資料連線的連結。
若要在資料庫中新增次級資料連線,您必須完成以下步驟:
步驟 1:在表單範本中新增次要資料連線 此步驟會根據資料庫中資料的儲存方式,建立具適當欄位與群組的次級資料來源。 你也可以設定表單範本,讓表單在表單剛開啟時使用這個資料連線。
步驟 2:設定表單範本以使用資料連線 如果你希望使用者在表單開啟後使用這個資料連線,可以在表單範本中加入規則或按鈕,讓使用者能從這個資料連線取得資料。
本文內容
概觀
當你建立基於外部資料來源的表單範本時,Microsoft Office InfoPath 會建立一個與該外部資料來源的主要資料連結。 InfoPath 接著根據資料儲存方式建立表單範本的主要資料來源。 不過,主資料連線中使用的外部資料來源可能沒有你想放在表單範本控制項中的數值。 這些值可能存在於其他外部資料來源,例如另一個 SQL Server 資料庫中。 要從其他外部資料來源取得數值,可以在表單範本中新增一個次要資料連線。
次要資料連線是指你加入表單範本的資料連線。 此資料連線可以是查詢資料連線或提交資料連線。 你只能在表單範本中新增查詢資料連線,作為 SQL Server 資料庫的次級資料連線。 只有當你需要來自主資料連線以外的外部資料來源時,才會新增這個資料連線。 你不能將提交資料連線加入 SQL Server 資料庫作為次要資料連線。
當你在資料庫中新增查詢資料連線時,InfoPath 會建立一個包含資料欄位和群組的次要資料來源,這些資料對應於資料庫中資料的儲存方式。 由於次級資料來源的資料結構必須與資料庫資料表中的儲存方式相符,因此無法修改次級資料來源中的欄位或群組。 你可以設定每個查詢資料連線,讓使用者在表單未連接網路時也能存取資料。 根據資料的性質,你可能只想在使用者連接網路時顯示查詢結果。
注意
如果您使用次級資料連線從外部資料來源擷取敏感資料,建議關閉此功能,以防電腦遺失或被竊時資料被未經授權使用。 如果你關閉此功能,資料只會在使用者連接網路時使用。
當你在表單範本中新增查詢資料連線時,預設基於該表單範本的表單在使用者開啟時會使用該資料連線。 您也可以將表單範本設定為使用查詢資料連線,方式如下:
- 新增規則 你可以設定規則,讓它在規則條件出現時使用查詢資料連線。
- 新增一個按鈕 你可以在表單範本中新增一個按鈕,使用者可以透過查詢資料連線點擊取得資料。
- 使用自訂程式碼 如果你無法新增規則或按鈕,可以用自訂程式碼透過查詢資料連線取得資料。 使用自訂程式碼需要開發者自行創建自訂程式碼。
開始之前
在你為表單範本新增 SQL Server 資料庫的次要資料連線之前,你需要從資料庫管理員那裡取得以下資訊:
- 你將用這個表單範本使用的資料庫伺服器名稱。
- 你將用到這個表單範本的資料庫名稱。
- 資料庫所需的認證。 資料庫可使用 Microsoft Windows 驗證或 SQL Server 認證,以判斷使用者如何存取資料庫。
- 包含你想傳送到表單的資料表的名稱。 這是主要表格。 如果你打算在資料庫中使用多個資料表,你需要那些子資料表的名稱。 你還需要子資料表中與主資料表欄位有關聯的欄位名稱。
- 你是否能安全地將查詢結果儲存在離線使用的形式中。
步驟 1:新增一個次要資料連線
在 工具 選單中,點選 資料連接。
在 資料連接 對話框中,點擊 新增。
在資料連線精靈中,點選「 建立新連線」,點選 「接收資料」,然後點 選「下一頁」。
在精靈的下一頁,點擊資料庫 (Microsoft SQL Server或Microsoft僅 Office 存取) ,然後點擊下一步。
在嚮導的下一頁,點擊 「選擇資料庫」。
在 選擇資料來源 對話框中,點選 新來源。
在「你想連接什麼類型的資料來源」清單中,點選 Microsoft SQL Server,然後點選「下一步」。
在 伺服器名稱 框中,輸入包含資料庫的伺服器名稱。
在 登入憑證中,請執行以下其中一項:
- 如果資料庫根據 Microsoft Windows 網路中使用的憑證判斷誰有存取權,請點擊 「使用 Windows 認證」。
- 如果資料庫根據你從資料庫管理員提供的指定使用者名稱和密碼判斷誰有權限,請點選 以下使用者名稱和密碼,然後在 使用者名稱 和密碼欄位輸入你的使用者名稱和 密碼 。
按一下 [下一步]。
在精靈的下一頁,在「 選擇包含你想要資料的資料庫 」清單中,點選你想使用的資料庫,選擇 「連接到特定資料表 」的勾選框,點選主資料表的名稱,然後點 選「下一步」。
在精靈的下一頁,在 檔案名稱 框中輸入儲存資料連線資訊的檔案名稱。
要儲存這些設定,請點擊 完成。
加入你想在查詢資料連線中使用的其他資料表。
作法- 點選 新增表格。
- 在 「新增資料表」或「查詢 」對話框中,點擊子資料表名稱,然後點擊 「下一頁」。 InfoPath 嘗試透過匹配兩個資料表中的欄位名稱來設定關係。 如果你不想使用建議的關係,請選擇該關係,然後點選 「移除關係」。 要新增關係,請點擊 新增關係。 在 「新增關係 」對話框中,點擊該欄中每個相關欄位的名稱,然後點擊 確定。
- 按一下 [完成]。
- 若要新增更多子資料表,請重複這些步驟。
按一下 [下一步]。
若表單未連接網路,查詢資料連線結果可用,請選擇「 在表單範本中儲存資料副本 」的勾選框。
注意
勾選此勾選框後,當表單使用此資料連線時,資料會儲存在使用者的電腦上。 如果表單從這條資料連線取得敏感資料,你可能想停用此功能,以防電腦遺失或被竊時保護資料。
按一下 [下一步]。
在精靈的下一頁,輸入這個次要資料連線的描述名稱。 如果您希望表單在開啟表單時自動接收資料,請選擇「 表單開啟時自動取回資料 」的勾選框。
步驟 2:設定表單範本以使用資料連線
如果你希望基於此表單範本的表單在使用者開啟表單後使用此資料連線,你可以在表單範本中加入規則,在特定條件下使用此資料連線,或者在表單範本中加入一個按鈕,讓使用者點擊使用此資料連線。
新增規則
你可以在表單範本中新增規則,只要符合該規則條件,就能從查詢資料連線取得資料。 以下程序假設你已為表單範本建立查詢資料連線,並在表單範本上設定了一個控制項以顯示該資料連線的資料。
- 如果表單範本有多個檢視,請在檢視選單中點選「檢視名稱」,切換到你想顯示次要資料來源資料的控制項檢視。
- 雙擊你想新增規則的控制項。
- 按一下 [資料] 索引標籤。
- 在 驗證與規則中,點選 規則。
- 在 規則 對話框中,點擊 新增。
- 在 名稱 框中輸入規則名稱。
- 若要指定規則執行的條件,請點選 「設定條件」,然後輸入該條件。 規則會在狀況發生時生效。 如果你沒有設定條件,當使用者改變控制項中的值,並將游標移離該控制項時,規則就會執行。
- 點擊 新增動作。
- 在 動作 清單中,點擊 使用資料連線查詢。
- 在 資料連線 清單中,點選你想使用的查詢資料連線,然後點擊 確定 關閉每個開啟的對話框。
- 若要測試變更,請按一下 [標準] 工具列上的 [預覽],或按 CTRL+SHIFT+B。
新增一個按鈕
你可以在表單範本中加入一個按鈕控制項,讓使用者點擊以取得查詢資料連線中的資料。
- 如果表單範本有多個檢視,請在檢視選單中點選「檢視名稱」,切換到你想顯示次要資料來源資料的控制項檢視。
- 如果沒有看到 [控制項] 工作窗格,請按一下 [插入] 功能表上的 [其他控制項],或按 ALT+I、C。
- 把按鈕控制項拖到表單範本上。
- 雙擊你剛剛加進表單範本的按鈕控制。
- 按一下 [一般] 索引標籤。
- 在 行動 清單中,點擊 重新整理。
- 在 標籤 框中,輸入你想在表單範本按鈕上出現的名字。
- 點擊 設定。
- 在 「重新整理 」對話框中,點選 「一個次要資料來源」。
- 在 「選擇次級資料來源 」清單中,點擊與查詢資料連線相關的次要資料來源。
- 按一下 [確定] 關閉每個開啟的對話方塊。
- 若要測試變更,請按一下 [標準] 工具列上的 [預覽],或按 CTRL+SHIFT+B。