首頁 > 蓮花公式Lotus Notes的解決方案Lotus Notes的教程票據設計 >刪除無效下屬的關鍵字值在Lotus Notes場

在Lotus Notes字段無效卸下下屬的關鍵字值

我知道這個技巧的標題並沒有太大意義。 但我不能想出一個有意義的標題,在短短的幾句話。 因此,讓我描述的情況。 比方說,你有一個多值的關鍵字字段包含國家名稱。 和另一個多值的關鍵字字段包含城市名稱。 來自選定的國家名稱城市名稱的選擇。 如果您選擇一些城市,然後回去和刪除狀態,你如何消除那些選定的城市,沒有較長的選擇嗎?

形式開始了一個可編輯的對話框列表域,允許多個值,稱為國家。 一個@ DbColumn來自這一領域的選擇。 外地的選項啟用“刷新關鍵字變化領域”。

第二場也是一個可編輯,對話框列表域,允許多個值。 第二場被稱為城市。 選擇的基礎上選定的狀態。 例如,這裡是一個示例應用程序選項“,選擇使用公式”:

查找:=的@ DbLookup(“;”“;”vwLookupCityState“;國家; 2);
@如果(@ ISERROR(查詢)“;”;查找)

市場有“刷新關鍵字變化的領域”選項和“刷新刷新文件選擇”已啟用。 因此,當用戶選擇一個或多個國家(如加利福尼亞州,華盛頓州),市場的選擇刷新(例如,圣迭戈,洛杉磯,舊金山,西雅圖,奧林匹亞)。

在正常情況下,如果用戶選擇了所有的城市,然後追溯到改變狀態的選擇(只有加州仍然選擇例如,),然後為市場的選擇將被刷新,但老選定的值不會。 因此,城市西雅圖和奧林匹亞仍然是在該領域的重視,即使他們不再是有效的選項。 這是此代碼糾正的情況。

它實際上是很容易處理這種情況。 因為這兩個國家和市域選項“刷新關鍵字變化領域”已啟用,該文件將被刷新時,任何一個領域的變化。 對市場的輸入翻譯公式可以刪除不再選項的選定值。

輸入翻譯公式做的第一件事是重複這樣的形式得到一個有效的選擇列表,選擇使用的代碼“公式”。

查找:=的@ DbLookup(“;”“;”vwLookupCityState“;國家; 2);
ValidChoices:= @(ISERROR(查找)“;查找);

然後,採取當前字段值,並只保留有效的成為一個兩步過程。 第一步是讓所有的,不應該在該領域的列表,第二步是刪除所有不應該存在的。

InvalidEntries:= @修剪(@替換(@ ThisValue; ValidChoices;“));
@修剪(@替換(@ ThisValue; InvalidEntries;“))

這是它的輸入轉換公式。 因此,當用戶回到一個國家從名單中刪除,該文件將刷新。 刷新執行輸入轉換公式。 公式查找得到的選擇將是什麼名單。 由於相同的查找公式被用來在關鍵字的選擇,因為我沒有使用“NOCACHE”選項,性能將不會是一個問題。 (緩存的結果將用於為準運行第二個)。 從“城市”字段的當前值,仍然有效的所有的用空字符串替換。 這使所有無效的選項列表。 從當前值,然後刪除那些無效的選項,是該領域的新成果。

由1903年的觀眾觀看了6485次

  1. 2010年6月18日18:15 | #1

    了不起的工作! 這是應各地的網絡共享的信息類型。 沒有更高的定位這篇文章的搜索引擎上的恥辱!

  1. 還沒有引用通告。