2011-03-16 50 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

相关问题