有没有办法从视图中获取最常用的单词.. 例如,如果我有一个名称如此
的列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
我还想注册使用次数相同的条目
答案 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将是出现次数。