视图列中最常用的单词

时间:2014-05-24 21:21:12

标签: lotus-notes lotusscript

有没有办法从视图中获取最常用的单词.. 例如,如果我有一个名称如此

的列
NAME
John
Mary
Jane
Alan
John
Laura
John  

它将返回John,因为它是最常出现的名称。

已添加...

我不介意使用@Richard Schwartz建议的另一个视图。事实上,我创建了它并尝试了类似的东西,但与你的第一个建议略有不同。

这是我的代码,但它没有返回正确的值:

Dim var As Variant
Set view1 = db2.getView("pomoc")
var=view1.GetColumnValues(0)
max=-1
field=""
Forall id In var
    Set ve=view1.GetEntryByKey(id)
    num=ve.ChildCount
    If num>max Then     
        max=num
        field=id
    End If  
End Forall

我还想注册使用次数相同的条目

1 个答案:

答案 0 :(得分:4)

你还可以添加另一个视图吗?对其进行分类,然后编写代码以使用NotesViewNavigator遍历类别,查找NotesViewEntry最高的ChildCount

如果您无法添加其他视图,则可能需要使用List:

dim names List as integer

然后编写代码以获取NotesView.AllEntries,使用GetFirstEntry和GetNextEntry来遍历NotesViewEntryCollection,并为每个NotesViewEntry执行如下语句:

thisName = thisEntry.ColumnValues(N)
names(thisName) = names(thisName) + 1 

其中N是包含名称的列。

在处理完整个视图后,请执行以下操作:

maxCount = 0
maxName = ""
forall nameCounter in names
 if nameCounter > maxCount then
   maxCount = nameCounter
   maxName = listtag(nameCounter)
end forall

当退出时,maxName将是最常见的名称,maxCount将是出现次数。