附註: 我們想要以您的語言,用最快的速度為您提供最新的說明內容。本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。讓這些內容對您有所幫助是我們的目的。希望您能在本頁底部告訴我們這項資訊是否有幫助。此為英文文章出處,以供參考。
公式可讓您要善加運用您建立的規則比使用基本、 預先定義的規則。例如,公式用的項目,例如計算目前或未來的日期,或甚至串連文字。
本文內容
概觀
公式是包含值、 欄位或群組、 函數,以及用來計算並顯示其他值的運算子 (XML 路徑語言) 的 XPath 運算式。您可以使用公式以建立新欄位的值,並在繫結至該欄位的控制項中顯示的值。可以使用公式如下所示:
計算的數學的值,根據您指定設計範本時,或填寫的表單範本時,使用者輸入的數值為根據的值。
執行規則,根據您的計算方式使用公式的值。
顯示唯讀狀態會從其他控制項計算的文字,或顯示其他控制項的值。
函數會傳回根據計算的結果值的運算式。在函數中使用的值稱為引數。您可以使用標準 XPath 1.0 函數中包含的 InfoPath,除了某些 InfoPath 特定功能。函數是由下列三個部分組成:
-
名稱 函數名稱,通常會提供此函數會執行的動作提示。
-
傳回值 函數的結果。
-
引數 使用函數來執行計算值。
函數可能會要求傳回的值的引數。如果函數需要的引數,您必須知道多少引數是必要與每個引數的資料類型。如果您提供的錯誤的數字或必要的引數的類型,此函數會無法運作。
下圖顯示函數、 運算式、 與公式之間的關係。
新增計算控制項
您可以使用計算的值控制項來顯示唯讀的文字、 顯示表單上的另一個控制項的值,並建立 XPath 運算式為基礎的公式。例如,如果您開發追蹤表單範本的費用,您可以新增計算的值控制項來顯示已輸入的費用總計。
附註: 計算的值控制項只會顯示資料,並不會儲存,因此如果您不想將儲存其值,或是在另一個公式中參考它使用計算的值控制項。
-
在表單範本上,將游標放在您要插入控制項的地方。
-
在 [常用] 索引標籤的 [控制項] 群組中,按一下計算的值控制項。
-
在 [插入計算值] 對話方塊中,執行下列其中一項:
-
若要直接將計算的值控制項中輸入文字或 XPath 運算式,請輸入XPath ] 方塊中。
-
若要插入公式,按一下 [編輯公式,,然後輸入所要的公式在公式的文字方塊中,使用下列步驟,必要時:
-
若要插入公式中的欄位或群組,按一下 [插入欄位或群組的欄位或群組在 [選取欄位或群組] 對話方塊中的,然後按一下然後按一下[確定]。
-
若要插入公式中的函數,按一下 [插入函數、 選取 [插入函數] 對話方塊中的函數,然後按一下[確定]。
如果函數需要的參數,選取 [插入函數] 對話方塊中的函數,按一下 [確定],然後,在公式的文字,按兩下其中表示,並選取所需的參數,再按一下[確定]。
-
若要插入公式或數學運算子,請輸入的值或進行數學運算符號在 [公式] 方塊中。
包含數學運算子新增 (+)、 減去 (-)、 乘 (*),除數 (/)。
數學公式通常取決於整數] 或 [小的值做為引數。若要避免在您的公式,請在 [檔案] 索引標籤上的空白值按一下 [表單選項] ,然後選取 [進階] ,並確認已選取 [將空白值為零。
-
-
新增公式到控制項
雖然您可以使用計算的值控制項來顯示公式的結果,您不一定要使用的計算的值控制項。您也可以使用公式若要設定其他控制項的預設值,例如文字方塊。有兩種方式,您可以設定控制項的預設值。您可以的使用靜態預設值,只要輸入所要的值的欄位或群組內容] 對話方塊中,或您的 [值] 欄位可以使用的公式為基礎的表單中的其他值之欄位的預設值。執行下列動作將根據公式的欄位的預設值:
-
選取您想要新增公式,然後在控制項工具] 底下 [屬性] 索引標籤的 [內容] 群組中,按一下 [預設值的控制項。
-
按一下 [值] 方塊旁的[插入公式 。
-
在公式的文字方塊中,使用下列步驟,視需要輸入所要的公式:
-
若要插入公式中的欄位或群組,按一下 [插入欄位或群組的欄位或群組在 [選取欄位或群組] 對話方塊中的,然後按一下然後按一下[確定]。
-
若要插入公式中的函數,按一下 [插入函數、 選取 [插入函數] 對話方塊中的函數,然後按一下[確定]。
如果函數需要的參數,選取 [插入函數] 對話方塊中的函數,按一下 [確定],然後,在公式的文字,按兩下其中表示,並選取所需的參數,再按一下[確定]。
-
若要將值或數學運算子插入公式,請將值或數學運算符號輸入 [公式] 方塊中。
包含數學運算子新增 (+)、 減去 (-)、 乘 (*),除數 (/)。
提示: 數學公式通常取決於整數] 或 [小的值做為引數。若要避免在您的公式,請在 [檔案] 索引標籤上的空白值按一下表單選項],然後選取 [進階]。請確定已選取 [將空白值為零。
-
-
若要編輯的公式為 XPath 公式,選取 [編輯 XPath (進階)核取方塊,如此會將公式的 XPath 運算式版本變更公式。
-
若要檢查語法錯誤的公式,按一下 [檢查公式] 按鈕。如果您的公式包含錯誤:
按一下 [顯示詳細資料在Microsoft InfoPath ] 對話方塊中,查看公式中的錯誤。以下是解決這些錯誤的一些建議:
-
如果您在公式中使用函數,請確認您使用的正確的引數的函數。某些功能需要欄位或群組,而其他函數需要指定為引數的值。
-
如果有需要,請刪除並重新輸入公式,以確保正確輸入。
-
按一下 [確定]。
-
如果您想要更新欄位的預設值時,值為基礎的變更,請選擇 [重新整理時重新計算公式的值] 核取方塊。如果這麼做,然後按一下 [確定],在控制項工具] 底下的 [屬性] 索引標籤的 [內容] 群組中,按一下 [控制項屬性。按一下 [顯示] 索引標籤,然後選取 [唯讀] 核取方塊。
規則中使用公式
可能是,驗證、格式或動作的規則,以使用公式來控制條件中指定的條件時。您可以指派規則至控制項或表單範本時,從 [條件] 對話方塊上的第三個下拉式清單中選取使用公式。
日期及時間函數
addDays
新增天數至日期或日期和時間。
語法
addDays (日期、 天)
引數 |
描述 |
日期 |
在第二個引數中的日數會新增至該引數中的日期。這個引數可以是日期 (日期) 或 [日期和時間 (dateTime) 資料類型。 |
天 |
您想要新增至第一個引數中的日期的天數。這個參數必須 (integer) 的整數資料類型。如果您在此引數中使用數的一個負數,則傳回的值是較早的日期。 |
範例
您想在表單範本包含今天日期的 60 天的日期中的欄位。表單範本包含名為 fldToday,今天的日期,作為預設值的欄位。若要使用此函數計算新的日期,請在 [新的日期] 欄位中使用下列公式:
addDays (fldToday,60)
addSeconds
將時間或日期和時間的秒數。
語法
addSeconds (時間、 秒)
引數 |
說明 |
time |
日期和時間的值或時間值,也就是 [參照到另一個欄位的表單範本上的日期或時間的函數,例如 now () 或 a2>today () 的結果。在第二個引數中的秒數會新增至這個引數中的時間。這個引數可以是日期 (日期) 或 [日期和時間 (dateTime) 資料類型。如果是時間資料輸入然後時間資料將會傳回類型。如果是日期資料類型會傳回的日期和時間的資料類型。 |
(秒) |
您想要新增日期及時間的值或時間值的第一個引數的秒數。這個參數的欄位必須是 (integer) 的整數資料類型。如果您在此引數中使用數的一個負數,傳回的值為較早的日期和時間或較早的時間。 |
範例
表單範本包含名為 fldCurrentTime 的預設值為使用目前的時間和要顯示時間 120 的秒數,從目前的時間,在公式中使用 addSeconds 函數的第二個欄位的欄位。若要使用此函數計算新的時間值,請在第二個欄位中輸入下列公式:
addSeconds (fldCurrentTime 120)
現在
傳回目前系統的日期和時間。
若要只傳回目前日期,請使用 today 函數。
語法
now ()
此函數不使用引數。
範例
若要取得建立表單的表單範本為基礎的時間與日期,請在欄位中使用下列公式:
now ()
今天
傳回目前系統的日期。SharePoint 清單日期欄位,使用 now () 函數。
若要同時日期及時間傳回,請使用 now 函數。
語法
a2>today ()
此函數不使用引數。
範例
若要建立表單的表單範本為基礎的日期,請欄位中使用下列公式:
a2>today ()
欄位函數
計數
會計算欄位或群組的執行個體數目。
語法
count(field)
引數 |
說明 |
欄位 |
重複欄位或重複群組,若要在表單中計算的名稱。 |
範例
在設計報告其產品和庫存供應商會使用其表單的表單範本。表單範本包含重複群組名稱 grpProduct 由供應商提交的產品。每個群組都包含 「 產品 」 以及 「 庫存層級的相關資訊。當供應商表單範本為基礎的表單中加入產品時,InfoPath 就會建立新的執行個體的重複群組。
表單範本具有包含由供應商提交的產品的數字的資料來源中的欄位。若要自動計算的產品送出的供應商的重複群組 grpProduct 的執行個體數目,請在產品] 欄位中使用下列公式:
count(grpProduct)
last
傳回重複欄位或群組的最後一個項的目。
附註: 設計瀏覽器相容表單範本時,此函數不會出現在 [插入函數] 對話方塊中的 [函數] 清單中。
語法
field_name[last()]
雖然函數本身沒有任何必要參數,但是您可以使用這個函數做為指定欄位名稱的述詞。
範例
在設計供應商] 會報告其產品庫存填寫的表單範本。表單範本中有資料連線至 Web 服務已從供應商的所有產品的產品資訊都已完成的方法。已提交的供應商的產品清單中的最後一個產品需要的方法。
產品資訊會儲存在名為 grpProduct 重複群組的不同欄位。當供應商表單中新增產品時,InfoPath 就會加入新的重複群組稱為 grpProduct。如果上多個產品的報表供應商,表單的資料來源會包含多個重複群組 grpProduct 執行個體。
若要確保您已送出到 Web 服務正確的資訊,您可以新增欄位包含 [供應商的產品] 群組中的最後一個產品的相關資訊。若要設定自動擷取的最後一個產品該欄位,做為預設值的最後一個產品欄位使用下列公式:
grpProduct[last()]
local-name
傳回本機欄位或群組的名稱。
附註:
-
如果引數的重複欄位或重複群組,函數會傳回的值的第一個的重複欄位或重複群組。
-
當使用者填寫網頁瀏覽器表單中時,使用此函數的公式會將表單資料傳送伺服器以取得此函數傳回的值。
語法
local-name(field)
引數 |
說明 |
欄位 |
您想要傳回其本機名稱屬性] 欄位的名稱。 |
範例
在設計表單範本所允許的應用程式使用。表單範本中有 Web 服務資料連線的方法。此方法需要區域名稱屬性的欄位的值承包商授權數目。授權數字欄位的名稱是 fldLicenseNumber。
您有一個欄位包含本機名稱屬性的值。若要自動擷取本機名稱屬性的授權數字欄位的值,使用下列公式做為預設值] 欄位包含本機名稱屬性的值:
local-name(fldLicenseNumber)
name
傳回欄位或群組的名稱和命名空間前置的詞。
附註:
-
如果引數的重複欄位或重複群組,函數會傳回在表單中 [名稱] 和 [字首的第一個的重複欄位或重複群組。
-
當使用者填寫表單,在瀏覽器使用的表單範本為基礎時,使用此函數的公式會將表單資料傳送伺服器以取得此函數傳回的值。
語法
name(field)
引數 |
說明 |
欄位 |
您想要傳回其命名空間前置詞與名稱欄位的名稱。 |
範例
在設計表單範本所允許的應用程式使用。表單範本中有 Web 服務資料連線的方法。此方法需要的欄位名稱屬性承包商的授權數。授權數字欄位的名稱是 fldLicenseNumber。
您必須將包含欄位的名稱屬性的值。若要自動擷取名稱屬性的值,請使用下列公式做為預設值欄位:
name(fldLicenseNumber)
namespace-uri
傳回欄位或群組的完整命名的空間。
附註:
-
如果引數的欄位或群組的一組,函數會傳回表單中的第一個欄位或群組的命名空間。
-
當使用者填寫網頁瀏覽器表單中時,使用此函數的公式會將表單資料傳送伺服器以取得此函數傳回的值。
語法
namespace-uri(field)
引數 |
說明 |
欄位 |
您想要擷取其命名空間 URI] 欄位的名稱。 |
範例
在設計表單範本所允許的應用程式使用。表單範本送出到 Web 服務的資料。若要處理從表單的表單範本為基礎的資料,Web 服務會需要的命名空間 URI 從資料來源中的特定項目欄位。包含的命名空間 URI 資料的表單範本中的欄位名稱為 fldComplete。
您有包含的命名空間 URI 項目欄位的欄位。若要自動擷取的命名空間 URI,做為預設值] 欄位包含的命名空間 URI 使用下列公式:
namespace-uri(fldComplete)
position
傳回相同的父群組中的欄位或群組與其他欄位或群組的索引 (或位置)。
附註: 無法在網頁瀏覽器表單範本中使用此函數。
語法
position()
範例
在設計供應商] 會報告其產品庫存填寫的表單範本。產品資訊會儲存於重複群組中的欄位。重複群組繫結到的重複表格,讓供應商,以新增或修改現有的產品資訊。
重複表格的第一欄,您會想要顯示在文字方塊中的列號。若要供應商加入新的產品,重複表格時,自動顯示的列數,請使用下列公式做為預設值的 [文字] 方塊:
position()
數學函數
通常包含數學函數的公式需要引數的整數或小數位數的值。若要確保引數都是整數] 或 [小數位數的值,而非 null 值,請按一下 [檔案>表單選項] > [進階],然後確定已選取 [將空白值為零] 核取方塊。
平均
計算欄位的重複群組中的數值的平均值。
附註: 重複的欄位必須是數字資料類型,而且會包含在群組中。
語法
avg(field)
引數 |
說明 |
欄位 |
[您要計算平均的值] 群組中的重複欄位的名稱。 |
範例
在設計報告其產品和庫存供應商會使用其表單的表單範本。表單範本包含名為 fldPrice,也就是包含銷售供應商的每個產品的相關資料的重複群組中的重複欄位。群組繫結到重複表格控制項。
您必須將包含該供應商的銷售量的所有產品的平均價格的表單範本中的欄位。若要計算平均價格,使用] 欄位中的平均價格下列公式:
avg(fldPrice)
boolean
如果欄位或群組已存在,則傳回 true。否則傳回 false。
這會傳回 true 即使已遭刪除關聯欄位的控制項,但仍有的欄位。
語法
boolean(field)
引數 |
說明 |
欄位 |
重複欄位或重複群組檢查此函數。 |
範例
在設計表單範本的供應商會使用報告其產品庫存。產品資訊會儲存在名為 grpProduct 重複群組中的不同欄位。每個重複群組包含每個產品的相關資訊的欄位。如果供應商提供關於七個產品的資訊,表單就會包含七個重複的群組。
重複群組繫結到重複表格控制項,讓供應商,新增或修改現有的產品資訊。供應商可以新增或刪除重複表格的列。
您想要顯示的對話方塊,如果使用者移除重複表格中的所有資料列。您可以新增欄位至資料來源中重複表格控制項有至少有一個資料列和 word"false"如果重複表格控制項沒有任何資料列包含 word 「 true 」。
您可以設定規則中重複表格控制項顯示] 對話方塊中,如果在欄位的值為 false。若要自動判斷重複表格是否包含至少一個資料列,請使用下列公式做為預設值,欄位包含 word"true"false":
boolean(grpProduct)
ceiling
將數字進位到最接近的整數。
語法
ceiling(number)
引數 |
說明 |
number |
有一個數值的欄位名稱。 |
範例
您要為您的公司設計費用報表表單範本。費用會送出到 Web 服務具有參數只接受整數數字。提交到此參數的費用量必須四捨五入到最高的整數值。費用量會儲存在名為 fldExpenseAmount,欄位和整數值會儲存在另一個欄位。若要計算較高的整數值,使用下列公式做為預設值的另一個欄位:
ceiling(fldExpenseAmount)
如果使用者建立表單範本為基礎的表單,然後輸入 145.87 fldExpenseAmount 欄位中,包含公式的欄位中的值會 146。
eval
傳回值的欄位或群組。第二個引數定義要計算的欄位或群組的運算式。通常操作欄位或群組,例如加總或 avg 函數內巢狀 eval 函數
語法
eval ([欄位、 運算式)
引數 |
說明 |
欄位 |
其值將會評估的運算式中的第二個引數的欄位或群組的名稱。 |
表示式 |
將會套用至第一個引數的運算式。運算式可 XPath 函數或用雙引號括住的運算式 ("")。 |
範例
您要為您的公司設計費用報表表單範本。表單範本包含名為 fldTotal 包含費用金額的欄位。[FldTotal] 欄位是名為 grpExpenses 的重複群組的一部分。另一個欄位繫結至文字方塊包含的所有費用總和。若要以使用者顯示所有的費用總和進入支出金額,總費用] 欄位中使用下列公式:
eval(grpExpenses,sum(fldTotal))
FALSE
會傳回 false。
語法
false()
此函數不使用引數。
範例
在設計表單範本的表單將會用於承包商來套用建置許可。表單範本中有兩個區段: 一個區段的連絡資訊及建築的相關資訊的其他區段允許。填寫此表單時, 需要承包商完全填寫連絡人資訊] 區段之前填寫建置允許一節。
若要這麼做,您可以建立規則以設定布林值欄位的值為 false,如果是空白的其中一個欄位區段中的連絡人資訊。布林值 true 值或布林值 false 值,則可以有布林值欄位。您也可以設定格式化的條件若要隱藏 [] 區段包含建置控制項允許資訊如果布林值欄位值為 false。
若要隱藏的建置允許資訊包含的欄位區段控制項,設定規則,此函數執行布林值欄位中,如果是空白的其中一個欄位區段中的連絡人資訊。
會場
傳回指定小數位數無條件捨去之整數值。
語法
floor(number)
引數 |
說明 |
number |
有一個數值的欄位名稱。 |
範例
您要為您的公司設計費用報表表單範本。費用會送出到 Web 服務使用的參數,只接受整數數字。提交到此參數的費用量必須四捨五入到最下方的整數值。費用量會儲存在名為 fldExpenseAmount,欄位和整數值會儲存在另一個欄位。若要計算的較低的整數值,使用下列公式做為預設值的另一個欄位:
floor(fldExpenseAmount)
最大值
傳回最大的數字欄位或群組。
語法
max(field)
引數 |
說明 |
欄位 |
群組或重複群組,您要尋找的最高值中的欄位中的重複欄位。 |
範例
在設計表單範本供應商要使用的表單來報告其產品庫存。表單範本包含重複群組包含多個包含供應商產品的相關資料的欄位。名為 fldPrice [重複] 群組中的欄位包含產品的價格。
資料來源的表單範本中的另一個欄位會包含所有產品的供應商的最高的價格。若要傳回的最高的價格,請使用下列公式中的最高的價格欄位:
max(fldPrice)
最小值
傳回最小的數字欄位或群組。
語法
min(field)
引數 |
說明 |
欄位 |
群組或重複群組,您要尋找的最高值中的欄位中的重複欄位。 |
範例
在設計表單範本供應商要使用的表單來報告其產品庫存。表單範本包含重複群組包含多個包含供應商產品的相關資料的欄位。名為 fldPrice [重複] 群組中的欄位包含產品的價格。
資料來源的表單範本中的另一個欄位會包含的所有產品的供應商的最低的價格。若要傳回的最低的價格,請使用下列公式最低的價格欄位中:
min(fldPrice)
不
如果布林值為 false 或 null,則傳回 true。布林值為 true 或非 null,就會傳回 false。
語法
not(boolean_value)
引數 |
說明 |
boolean_value |
布林值的資料類型的欄位。 |
範例
在設計表單範本的表單將會用於承包商來套用建置許可。表單範本中有一個區段的連絡資訊及允許建置的相關資訊的另一個區段。填寫此表單時, 需要承包商完全填寫連絡人資訊] 區段之前填寫建置允許一節。
若要這麼做,您可以建立規則的布林值欄位的值設定為 false,如果其中一個連絡人的資訊] 區段中的欄位留白。布林值 true 或布林值為 false,則可以有布林值欄位。然後,您使用相同公式若要隱藏包含建置區段控制項允許資訊,如果布林值欄位值為 false。若要設定此規則,您可以使用下列公式若要設定為 false,則為 True 的欄位:
not(true())
number
轉換成數字的值。
如果無法轉換成數字後的引數的值,則函數會傳回 NaN。
語法
number(value)
ArgumentDescription
首次將數字轉換值的欄位。
範例
在設計表單範本的表單將會用於承包商來套用建置許可。表單範本包含承包商可在其中輸入其商務地址的區段。若要確認承包商輸入有效的地址,您可以使用的資料連線,可以驗證的地址的 Web 服務。如果地址就完成驗證了,承包商可以送出到 SQL 資料庫的表單。SQL 資料庫使用的文字欄位的地址數] 及 [街道的名稱。Web 服務所需的地址的數字,是數字的資料類型和街道名稱是文字資料類型。
若要送出的 Web 服務和 SQL 資料庫的資料,地址必須儲存為兩種不同的資料類型:
-
若要送出到 Web 服務的地址,地址數必須是數字的資料類型和街道名稱必須是文字資料類型。
-
若要送出到 SQL 資料庫的地址,地址數] 及 [街道名稱必須是文字資料類型。
您也想要一次輸入他的地址承包商。正確的資料類型轉換的地址,並確保承包商,請輸入他的地址,一次,表單範本包含欄位命名 fldAddressNumber 輸入地址數] 及 [其他] 欄位中輸入街道名稱。兩個欄位會設定為文字資料類型。
以送出到 Web 服務的地址數目,必須先 (儲存為文字資料類型) fldAddressNumber 欄位中的資料轉換為數值的資料類型。地址數字轉換成數值的資料類型的值會儲存於已設定為儲存數值的資料類型的另一個欄位。
若要將文字資料類型轉換的地址的數字為數值的資料類型,使用下列公式做為預設值 fldAddressNumber 欄位:
number(fldAddressNumber)
nz
傳回取代為零 (0) 的所有空白欄位的欄位或群組。
語法
nz(field)
引數 |
說明 |
欄位 |
您想要檢查的值欄位。 |
範例
在設計供應商] 會報告其產品庫存填寫的表單範本。供應商會送出到 Web 服務的表單範本為基礎的表單透過其產品庫存。Web 服務的方法,必須具備所有的項目,包含數字資料的數字的值。Web 服務拒絕包含空白的數字項目表單的表單。
表單範本包含名為 fldAvailability 包含對應至供應商可提供這項產品的數字的欄位。供應商可以在此欄位中輸入數字。為協助確保供應商可以送出表單範本的 Web 服務為基礎,會自動設定為零如果供應商未輸入數字欄位的值,其表單,使用下列公式預設值為此欄位:
nz(fldAvailability)
四捨五入
將無條件捨位到最接近的整數的數字。
如果完全中間兩個四捨五入的整數值的非整數值,傳回的值是下一步的最大整數值。
語法
round(number)
引數 |
說明 |
number |
包含使用此公式會四捨五入的數字的欄位。 |
範例
在設計表單範本供應商要使用的表單來報告其產品庫存。表單範本包含重複群組包含多個欄位包含供應商產品的相關資料。其中一個欄位,重複群組中,名為 [fldPrice,包含產品的價格。
表單範本中有送出到 Web 服務資料連線。Web 服務方法需要每個價格的捨入至整數值。若要傳送的 Web 服務方法適當的值,您可以新增重複的欄位至資料來源。此欄位四捨五入至整數值 fldPrice 欄位中的價格,使用下列公式:
round(fldPrice)
加總
傳回在欄位或群組的所有欄位。每個欄位會先轉換的數字的值。
語法
sum(field)
引數 |
說明 |
欄位 |
重複群組中的欄位或重複欄位,其值將會加入的群組中的名稱。若要從兩個不同的群組中新增欄位,請使用聯集運算子 (|) 來分隔引數。例如: sum (欄位名稱 1 | 欄位名稱 2)。 |
範例
在設計費用報表表單範本。表單範本中有費用項目所在的群組。名為 fldExpenseAmount 欄位中儲存的每個項目。群組繫結到重複表格以列顯示每個費用項目。表單範本包含文字方塊控制項顯示的總費用。若要顯示的總費用,將文字方塊控制項會包含下列公式:
sum(fldExpenseAmount)
true
會傳回 true。
語法
true()
此函數不使用引數。
範例
在設計表單範本的表單將會用於承包商來套用建置許可。表單範本包含一個區段的連絡資訊及另一個區段建置允許的相關資訊。填寫此表單時, 需要承包商完全填寫連絡人資訊] 區段之前填寫建置允許一節。
若要這麼做,您可以建立規則,將設為 true 的布林值欄位的值,如果在 [連絡人資訊] 區段中的所有欄位都包含的資料。布林值 true 或 false,則可以有布林值欄位。如果布林值欄位為 true,包含建置區段控制項允許資訊會顯示。
若要顯示含有建置的區段控制項允許資訊、 您設定規則來執行這項功能,則為 True 的欄位中所有欄位區段中的連絡人資訊會包含資料。
文字函數
concat
會結合兩個或多個文字字串成為一個文字字串。
語法
concat 函數 (text1,text2,...)
引數 |
說明 |
文字 1 |
包含文字合併成單一 argument2 中的文字的文字行的欄位。 |
文字 2... |
多或包含文字與上一個欄位的結合多個其他欄位。以逗號分隔文字欄位。 |
範例
在設計表單範本包含 「 fldFirstName 名為 fldLastName 的欄位的欄位。新增至第三個欄位新增到 「 此表單已填寫 < 名字 >< 姓氏 >。 」,讓它包含的文字,下列公式:
concat 函數 (「 此表單已填寫 「、 fldFirstName,「 」,fldLastName,「。 」)
附註: 輸入文字的引數,包括空格及標點符號,為任何實際文字必須插入雙引號 (")。
包含
如果第一個欄位或文字字串包含第二個,則傳回 true。否則傳回 false。
語法
包含 (within_text find_text)
引數 |
說明 |
within_text |
包含要搜尋文字的欄位。 |
find_text |
包含的文字或以雙引號括住的文字的欄位 (「 」) 若要搜尋的第一個引數。 |
範例
在設計表單範本,有三個文字欄位。第一個可讓使用者在名為 fldText 的第一個文字控制項中輸入文字冗長的數量。第二個可讓使用者輸入的文字簡短區段,為 fldFindText]。第三個文字方塊會比較第一個 [第二個 [文字] 方塊,指出是否可找到的第一個欄位的第二個欄位中的值,並將結果顯示。將其做為預設值有下列公式:
contains(fldText,fldFindText)
normalize-space
移除文字字串中的空白區域。
附註: 這樣會移除前置字元,結尾與重複文字資料類型的欄位中的空格。
語法
normalize-space(text)
引數 |
說明 |
text |
含有結尾,或重複您想要移除的空格前置字元的文字。以雙引號括住的文字 ("")。 |
範例
設計表單範本包含名為 fldText (這繫結至文字方塊控制項) 的欄位。若要標準化的第一個欄位中,輸入任何文字,並在沒有任何多餘的空格的第一個欄位中顯示哪些值,新增第二個欄位使用下列公式做為預設值:
normalize-space(fldText)
starts-with
如果第一個欄位或文字字串的第二個,則傳回 true。否則,則傳回 false。
語法
啟動 with(text, start_text)
引數 |
說明 |
text |
包含要搜尋的文字欄位的名稱。以逗號分開的引數。 |
start_text |
要搜尋中的第一個引數所指定的欄位開頭的文字。此引數可以是欄位或用雙引號括住的文字 ("")。 |
範例
在設計表單範本,有三個文字欄位。第一個可讓使用者在名為 fldText 的第一個文字控制項中輸入文字冗長的數量。第二個可讓使用者輸入的文字簡短區段,為 fldFindText]。第三個文字方塊會比較第一個 [第二個 [文字] 方塊指出中的第一個欄位的值是否第一句是第二個欄位中的值,並顯示結果。將其做為預設值有下列公式:
啟動 with(fldText, fldFindText)
字串
將值轉換為文字字串。
語法
string(value)
引數 |
說明 |
value |
包含要轉換成文字的值的欄位。 |
範例
在設計表單範本的表單將會用於承包商來套用建置許可。表單範本包含讓承包商,請輸入其商務地址的區段。若要確認承包商輸入有效的地址,表單範本中有可以驗證的地址的 Web 服務資料連線。如果地址就完成驗證了,承包商可以送出到 SQL 資料庫的表單。SQL 資料庫使用的文字欄位的街道地址。Web 服務所需的地址的數字,是數字的資料類型和街道名稱是文字資料類型。
若要送出的 Web 服務和 SQL 資料庫的資料,地址必須儲存在兩種不同的資料類型:
-
送出到 Web 服務的地址,地址數必須是數字的資料類型。
-
若要送出到 SQL 資料庫的地址,地址數] 及 [街道名稱必須是文字資料類型。
您也想要一次輸入他的地址承包商。若要正確的資料類型轉換的地址,並確保承包商,請輸入他的地址,一次,表單中包含的欄位輸入地址的數字的名稱為 fldAddressNumber 與另一個欄位輸入街道名稱。FldAddressNumber 欄位是數字的資料類型,[街道名稱] 欄位是文字資料類型。
才能送出的完整地址 (地址數字和街道名稱) 的 SQL 資料庫,必須先將 fldAddressNumber 欄位和 [街道名稱] 欄位中的值結合成一個文字資料類型的值。您必須將在 fldAddressNumber 欄位中,儲存資料的數字的資料類型,數字的資料轉換成文字資料類型。您可以新增欄位至資料來源包含完整的地址為文字資料類型。
若要讓您可以使用 Web 服務,請為文字資料類型轉換 fldAddressNumber 欄位中的文字資料,您可以設定將包含的地址數字的文字資料類型的另一個欄位。若要將地址數字之數字資料類型轉換為文字資料類型,請使用下列公式預設值為此欄位:
string(fldAddressNumber)
string-length
傳回文字字串中的字元數。
語法
string-length(text)
引數 |
說明 |
text |
欄位,其值是您想要計算的文字。 |
範例
在設計表單範本包含名為 fldText,繫結至文字方塊控制項的欄位。表單範本包含第二個欄位,用來計算的第一個表單中輸入的字元數。若要這麼做,第二個欄位要作為預設值包含下列公式:
string-length(fldText)
substring
傳回文字字串中的特定部分。第二個引數指定的開始位置和第三個引數指定要包含的字元數。
語法
子字串 (文字、 start_position、 char_count)
引數 |
說明 |
text |
使用文字資料類型或用雙引號括住的文字欄位 (「 」)。此文字和進位的字元數到第二個引數指定的位置的所有字元會傳回都指定的第三個引數或文字的結尾,函數搜尋,以先出現。 |
start_position |
若要從第一個引數中擷取文字的開始位置。此引數必須是整數或設定為將存放 (integer) 的整數資料類型的欄位參照。 |
char_count |
您想要擷取的第二個引數中指定的開始位置開始的字元數目。此引數必須是整數或設定為將存放 (integer) 的整數資料類型的欄位參照。 |
範例
在設計表單範本包含下列的欄位和控制項:
-
名為 fldText 繫結至文字方塊控制項的欄位。此欄位的內容,函數會搜尋的文字。
-
名為 fldStartingPosition 繫結至文字方塊控制項的欄位。此欄位會設定為整數資料類型。欄位包含函數的開始位置。
-
名為 fldNumberOfCharacters 繫結至文字方塊控制項的欄位。此欄位會設定為整數資料類型。欄位的內容,函數會傳回的字元數目。
-
文字方塊控制項的顯示函數的結果。文字方塊控制項包含下列公式:
子字串 (fldText、 fldStartingPosition fldNumberOfCharacters)
如果使用者輸入 「 此建立表單從 InfoPath 表單範本。 「 第一個文字方塊中,後面接著第二個中的 4 及 16 的第三個,第四個文字方塊會包含 「 s 表單時建立 」。
substring-after
第一個文字字串的第二個文字字串的第一個項目中傳回的文字。
語法
子字串 after(text, find_text)
引數 |
說明 |
text |
使用文字資料類型或用雙引號括住的文字欄位 (「 」)。函數在此引數,搜尋的文字,然後傳回的所有字元,請遵循在第二個引數中的文字。 |
find_text |
要搜尋的第一個引數的文字中的文字。文字可以是在 [與文字資料類型或用雙引號括住的文字] 欄位的值 ("")。函數在這段文字的第一個引數中搜尋的文字,然後傳回的所有字元,請遵循此引數中的文字。 |
範例
在設計表單範本包含下列的欄位和控制項:
-
名為 fldText 繫結至文字方塊控制項的欄位。此欄位的內容,函數會搜尋的文字。
-
名為 fldSubstringText 繫結至文字方塊控制項的欄位。此欄位包含函數的第二個引數的文字。
-
文字方塊控制項的顯示函數的結果。文字方塊控制項包含下列公式:
子字串 after(fldText, fldSubstringText)
如果使用者輸入 「 此表單從 InfoPath 表單範本。 建立 「 fldText 欄位和 「 InfoPath 」 中的第二個,然後第三個文字方塊控制項會包含 「 表單範本]。
substring-before
在前面的第二個文字字串的第一個項目,第一個文字字串中傳回的文字。
語法
子字串 before(text, find_text)
引數 |
說明 |
text |
使用文字資料類型或用雙引號括住的文字欄位 (「 」)。函數在此引數中搜尋的文字,然後傳回文字前面的所有字元的第二個引數,find_text。 |
find_text |
要搜尋的文字引數的值。此值可以是與文字資料類型或用雙引號括住的文字欄位中的值 ("")。函數在這段文字的第一個引數 (文字) 中搜尋的文字,然後傳回的文字之前的所有字元此引數。 |
範例
在設計下列欄位及控制項的表單範本:
-
名為 fldText 繫結至文字方塊控制項的欄位。此欄位的內容,函數會搜尋的文字。
-
名為 fldSubstringText 繫結至文字方塊控制項的欄位。此欄位包含函數的第二個引數的文字。
-
Aa 文字方塊控制項顯示函數的結果。文字方塊控制項包含下列公式:
子字串 before(fldText, fldSubstringText)
如果使用者輸入 「 此表單從 InfoPath 表單範本。 建立 「 fldText 欄位和 「 建立 」 中第二個,第三個文字方塊控制項會包含 「 時此表單 」。
translate
傳回由在對應的位置,第三個文字字串中字元的第二個文字字串中的每個字元的第一個文字字串。
語法
翻譯文字、 find_chars (replace_chars)
引數 |
說明 |
text |
包含的字元將會取代的文字欄位的名稱。以逗號分開的引數。 |
find_chars |
字元或字元的第三個引數會被取代文字資料類型] 欄位的值。以逗號分開的引數。 |
replace_chars |
字元或將會取代每個執行個體中的第二個引數的字元的文字資料類型] 欄位的值。 |
範例
在設計表單範本的表單將會用於承包商來套用建置許可。表單範本包含讓承包商,請輸入其商務地址的區段。區段包含名為 fldStreetAddress 繫結至文字方塊控制項讓承包商,請輸入其街道地址的欄位。
若要確認承包商輸入有效的地址,必須可以驗證的地址的 Web 服務資料連線。Web 服務要求小寫字母的字元,地址。
若要轉換成小寫的街道地址中的任何大寫字元,您可以新增另一個欄位至資料來源,以包含會轉換成小寫字元的街道地址。此欄位的預設值會包含下列公式:
翻譯 (fldStreetAddress,ABCDEFGHIJKLMNOPQRSTUVWXYZ,abcdefghijklmnopqrstuvwxyz)
URL 函數
SharePointListUrl
傳回的地址的 SharePoint 清單] 或 [表單庫表單在哪裡裝載 (僅適用於 InfoPath 2010)。
語法
SharePointListUrl()
此函數不使用引數。
範例
您設計表單範本的 SharePoint 清單,並且想要將連結新增至清單裝載於何處,例如 「http://sharepointserver/site/list/」 的位置。若要這麼做,請在新增超連結控制項,然後將它設定為唯讀,然後設定 [預設值之欄位的控制項連結在如下所示:
SharePointListUrl()
附註: 如果表單範本不裝載在 SharePoint 伺服器上,然後 SharePointListUrl() 函數只會傳回 「http://sharepointserver/site/list/」。
SharePointServerRootUrl
傳回表單在哪裡 SharePoint 伺服器的位址裝載 (僅適用於 InfoPath 2010)。
語法
SharePointServerRootUrl()
此函數不使用引數。
範例
您設計表單範本的 SharePoint 清單,並且想要新增連結到 SharePoint 伺服器清單裝載,例如 「http://sharepointserver/site/list/」 的根目錄。若要這麼做,請在新增超連結控制項,然後將它設定為唯讀,然後設定 [預設值之欄位的控制項連結在如下所示:
SharePointServerRootUrl()
附註: 如果表單範本不裝載在 SharePoint 伺服器上,然後 SharePointListUrl() 函數只會傳回 「http://sharepointserver/site/list/」。
SharePointCollectionUrl
傳回表單在哪裡 SharePoint 網站集合的地址裝載 (僅適用於 InfoPath 2010)。
語法
SharePointCollectionUrl()
此函數不使用引數。
範例
您設計表單範本的 SharePoint 清單,並且想要新增連結至網站集合的 SharePoint 伺服器清單裝載於何處,例如 「http://sharepointserver/sitecollection/」。若要這麼做,請在新增超連結控制項,然後將它設定為唯讀,然後設定 [預設值之欄位的控制項連結在如下所示:
SharePointCollectionUrl()
附註: 如果表單範本不裝載在 SharePoint 伺服器上,然後 SharePointListUrl() 函數只會傳回 「http://sharepointserver/sitecollection/」。
SharePointSiteUrl
傳回表單所在的 SharePoint 網站的地址裝載 (僅適用於 InfoPath 2010)。
語法
SharePointSiteUrl()
此函數不使用引數。
範例
您設計表單範本的 SharePoint 清單,並且想要新增至清單裝載於何處,例如 「http://sharepointserver/site/」 的 SharePoint 網站的連結。若要這麼做,請在新增超連結控制項,然後將它設定為唯讀,然後設定 [預設值之欄位的控制項連結在如下所示:
SharePointSiteUrl()
附註: 如果表單範本不裝載在 SharePoint 伺服器上,然後 SharePointListUrl() 函數只會傳回 「http://sharepointserver/site/」。
UserName 函數
使用者名稱
傳回填寫表單 (Microsoft InfoPath 2007 及更新版本) 之人員的使用者名稱。
附註: 如果使用者填寫表單,以在網頁瀏覽器中,從 Microsoft Windows SharePoint Services 3.0 或更新版本中,擷取的使用者名稱。
語法
userName()
此函數不使用引數。
範例
您要為您的公司設計費用報表表單範本。信用卡公司至您的公司的資料庫,請以電子形式傳送記錄您的員工費用。若要擷取的費用記錄的員工,資料庫會需要填寫表單的表單範本為基礎的員工的使用者名稱。
您可以新增欄位至資料來源的表單範本,儲存員工的使用者名稱。您也可以建立查詢的資料連線,使用此欄位在查詢中的值擷取費用。
若要確保填妥費用報表的員工使用正確的使用者名稱,您欄位繫結至文字方塊控制項。若要顯示的使用者名稱的使用者建立此表單範本為基礎的表單,請使用下列公式的文字方塊控制項繫結欄位的預設值為:
userName()