2011-03-16 73 views
1

我試圖在隱藏視圖中使用dbLookup獲取字段的特定值,但是我收到此錯誤「field:Version:Entry not found in index」。我確信字段版本是作爲一列在視圖中添加的。第2列是「版本字段」。我該如何解決這個問題?沒有在索引中找到條目

@DbLookup( 「」: 「NoCache的」; 「」: 「」; 「(vwLDoc)」;的ParentId + @文本(版); 2)(?)

回答

2

假定該代碼是在一個字段中重新-write你這樣的代碼

key := @trim(ParentID + @Trim(@Text(Version))); 
lkup := @DbLookup("":"NoCache";"":"";"(vwLDoc)";key; 2); 
val := @if(@IsError(lkup);@Text(lkup) + ", key:" + key;lkup); 
val; 

這使您可以獨立於DBLookup的關鍵,讓你可以調查正在使用的實際值運行查找。將2個字符串連接在一起可能會導致插入額外的空格,從而創建無效的鍵值。

它也可以更優雅地處理錯誤,因爲您可以使用「val」變量而不會導致難看的提示框出現,這也會在打開窗體時影響窗體。

我會檢查視圖「(vwLDoc)」是否有排序的列。如果視圖中沒有排序列,dblookup將始終返回「在索引中找不到條目」。

您可以通過打開視圖並輸入密鑰值來測試密鑰,它應該跳轉到任何匹配的文檔。要打開隱藏的視圖,只需選擇「視圖」=>「轉到」(當你這樣做時,按住ctrl-shift鍵查看隱藏的視圖),然後選擇視圖。

如果您將整個公式粘貼到使用此dblookup的位置,我可以提供更好的答案。

+0

Giulio-謝謝。我排序字段版本,它的作品。我沒有得到價值。 – user335160 2011-03-16 05:55:07

+0

無論如何,你有沒有想法如何獲得在視圖中使用lotus notes @formula創建的最新文檔? – user335160 2011-03-16 05:56:28

+0

您可以添加一個新列並將其放入公式@Created中。將該列按升序/降序排序。請注意,視圖對文檔進行排序的方式取決於「已排序」列的從左至右的順序。因此,如果將此新列添加到現有已排序列的右側,則第一列的排序將優先,然後是下一排序列,依此類推。所以你可能需要移動它們才能得到想要的結果。 (我不建議做太多的分類列,3或4就足夠了。) – giulio 2011-03-16 06:52:44

相關問題