当前位置:软件学习 > 其它软件 >>

关于GetAllDocumentsByKey的问题

假设有一个视图,前两列做了分类排序
部门 性别 姓名 年龄
人事部

张三 29
李一 30

刘五 24
财务部

赵一 25
马七 29
使用以下代码
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim docs As NotesDocumentCollection
Dim DeptInfo(1 To 2) As Variant

Set db = session.CurrentDatabase
Set view = db.GetView( "person" )

DeptInfo(1) = "人事部"
DeptInfo(2) = ""
Set docs = namesdbview.GetAllDocumentsByKey(DeptInfo,False)

Msgbox docs.Count
这时候的结果为2。
我只有将DeptINfo(2)分别赋值“男”和“女”才能得到该部门的总人数。
请问,如何才能在不改变视图的情况下获得一个部门的总人数呢? --------------------编程问答-------------------- 补充视图的结构

--------------------编程问答-------------------- GetAllDocumentByKey:
Finds documents based on their column values within a view. You create an array of keys, where each key corresponds to a value in a sorted column in the view. The method returns all documents whose column values match each key in the array. 
这是方法的解释,你就把第一列作为key来试试,舍弃第二列. --------------------编程问答-------------------- --------------------编程问答--------------------
引用 2 楼 SYTB06042 的回复:
GetAllDocumentByKey:
Finds documents based on their column values within a view. You create an array of keys, where each key corresponds to a value in a sorted column in the view. The method returns all documents whose column values match each key in the array.
这是方法的解释,你就把第一列作为key来试试,舍弃第二列.

一开始就是直接使用第一列的(不指定第二列),如下
Set docs = namesdbview.GetAllDocumentsByKey(“人事部”,False) 
但只能返回数值2 --------------------编程问答-------------------- 你再增加一个视图,把第二列不做分类排序,不就可以了? --------------------编程问答-------------------- 按我们使用的编程规范来说,你这是显示视图.如果要取数据的话,一般自己另外再做个视图就可以了,何必要在同一个视图里面操作呢? --------------------编程问答--------------------
引用 6 楼 rosemerry 的回复:
按我们使用的编程规范来说,你这是显示视图.如果要取数据的话,一般自己另外再做个视图就可以了,何必要在同一个视图里面操作呢?


如果可以变视图,我早就变了。所以我才说“在不改变视图的情况下”。麻烦大家还是针对这个函数指教一下吧 --------------------编程问答-------------------- 那就不用视图就可以了嘛,用search一样可以达到效果啊 --------------------编程问答-------------------- rosemerry 正解
set dc=db.Search({("你的那个视图选择条件") & (部门="人事部")},nothing,0)  --------------------编程问答-------------------- 或者用evaluate()来调用函数,方法很多
补充:企业软件 ,  Lotus
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,