Lotus Notes公式的 - 談到@變換成多個值與單值處理功能
最近共同開發了一個文件獨特的ID的列表。 他想看看從每個文件的價值。 他首先想到的是到使用截至@ GetDocField @ GetDocField(unidList;“表”)。 (“表”的領域,他一直在尋找,但我將使用它作為一個例子)。 @ GetDocField僅適用於一個單一的值,所以它只是從列表中的第一的UNID領域。
@變換之前,他從來沒有使用,但是這是一個完美的使用該功能。 它可以把任何功能,它成一個功能,“多值”處理“單值”處理。 @變換有三個參數。 首先是值列表。 第二個是一個字符串,最終會被臨時變量的名稱。 第三是要執行的功能,使用第二個參數的變量名。 所以,他的功能被改寫為:
@變換(unidList“X”; @ GetDocField(X“表”))
該函數遍歷列表中的所有元素(第一個參數)。 對於列表中的每個元素,@ GetDocField執行。 注意如何使用字符串“X”。 這是第二個參數,所以這是“變”裡面的公式(第三個參數)的名稱。 函數的結果是“轉化”的價值觀列表 - 列表中的每個元素(每個的UNID)被轉化成別的東西(@ GetDocField)。
公式由於公式為源列表中的每個元素進行處理,每次處理一個單一的價值。 所以這就是你如何變成一個公式,現在可以處理多個值@ GetDocField單值的限制。
請注意,我沒有做任何檢查公式中的錯誤。 可能是一個更“穩健”版本的公式:
@ @如果變換(unidList;“X”;(@ ISERROR(@ GetDocField(X“形”));“錯誤”; @ GetDocField(X“形”)))
但更複雜的公式得到,更是非常困難的跟進和支持。 所以這就是為什麼我用簡單的例子開始 - 這是更容易解釋。
你也可以使用@在公式中執行多個語句。 關鍵是,公式的結果值,該值替換列表中的原始值。
任何功能,只有在一個單一的值同樣可以更新多個值,使用相同的技術功能。
2667觀眾觀看了8302次














夫婦的其他選項:
選項1:使用For @(...)循環。
例如:
@(I:= 1;我<= @元素(unidList);我:= I + 1;
@不要(
MATLAB環境:= @ GetDocField(unidList [我]“表”);
theDataList:= theDataList:(@(ISERROR(MATLAB環境),“錯誤”; MATLAB環境))
)
);
選項2:使用的@ DBLookup
- 如果你有一個視圖的第一列是由文字(DocumentUniqueID)排序,那麼你可以使用下面的:
theDataList:= @ DBLookup的“註釋”:“快取”;“:”“;”vDocumentsByUNID“; unidList”TheForm“;