2014-04-10 114 views
1

我有一個多值字段,用戶可以輸入多個值。該字段是用於保存用戶電子郵件地址的名稱值字段。我希望將電子郵件地址列爲用戶的互聯網地址,而不是其組織單位/組織地址。 最初顯示爲「Jane Doe/Sales/USA」,我希望將其列爲[email protected]Lotus Notes中的公式列表 - 嘗試更新每個元素

此字段將包含多值,因此可以是Jane Doe/Sales/USA; Fred Smith/Sales/KNC;湯姆瓊斯/會計/ ING

首先,有沒有辦法讓網址從名稱字段列出?我嘗試了一些本來可以顯示互聯網地址的東西,但它不起作用。

我有一個以前的單值字段,並使用以下公式將其顯示爲互聯網地址: 這裏是我使用的公式。保留名稱列出用戶名稱作爲他們的名字和姓氏。

HoldingLeft := @Left(HoldName; " "); 
HoldingRight := @Right(HoldName; " "); 
CompleteName := (HoldingLeft + "." + HoldingRight + "@newplace.com"); 
CompleteName 

因爲我不熟悉公式語言中的列表,得到我想要的結果的最佳方法是什麼。

您的意見非常感謝。 謝謝你,讓

回答

3

這是一種方式來轉換完全合格的名稱到的電子郵件地址:

@If(FieldWithNames = ""; 
    ""; 
    @Replace(@Name([CN]; FieldWithNames); " "; ".") + "@newplace.com") 

假設名稱字段稱爲FieldWithNames那麼我們首先測試它是否是空的。如果是,我們返回一個空字符串。如果否,我們將完全限定名稱列表僅轉換爲名稱列表。然後我們用「。」替換所有空格。並添加域。我們很幸運,因爲@Name和@Replace可以處理列表。

這是一種方法,從目錄中讀取互聯網電子郵件地址,完全合格的名稱:

@If(FieldWithNames = ""; 
    ""; 
    @NameLookup([Exhaustive]; FieldWithNames; 'InternetAddress')) 

我們很幸運再次爲@NameLookup接受作爲第二個參數列表。它從目錄中讀取每個條目的互聯網電子郵件地址並將結果作爲列表返回。

其他的情況下,您可能需要分別處理列表中的每個條目。然後你可以使用@Transform(list; "variable"; [code doing stuff with variable])

+0

Tack FIELD FieldWithNames:=到Knut的第二個公式的前面,這是@formula代碼的一行中的完整解決方案。 –

+0

這樣,你的代碼更加穩定 –

+2

如果多值字段包含空白條目,即使它也包含一些非空行,FieldWithNames =「」返回true。應該使用@Trim刪除這些,或者測試!(FieldWithNames!=「」) –