怎样使用视图的GetDocumentByKey
Set view=db.GetView("Workflow")
Workflow=doc.Workflow(0)
Set doc1=view.GetDocumentByKey(Workflow)或者是
Set doc1=view.GetDocumentByKey("购买申请")
对使用GETDOCUMENTBYKEY有什么要求,我上面这样写有什么不对的地方,因为找不到文档。
问题点数:20、回复次数:7Top
1 楼starwild(对酒当歌)回复于 2002-11-21 21:50:22 得分 5
GetDocumentByKey要求视图的前几个列必须为排序列。
例如,你的参数是“购买申请”,则要求第一个列必须为排序列,
如果参数是一个数组,例如 Key(0 to 1),则要求前两个列为排序列,
Key(0 to 2),则要求前三个列为排序列……以此类推Top
2 楼whflzy(玉儿)回复于 2002-11-22 08:38:01 得分 0
我要查找的域不能放在第一列,是不是就不能用这个公式了?Top
3 楼lsh22(老婆,为了你我要学VC--MFCing)回复于 2002-11-22 09:06:10 得分 5
不是前几列排序吧。。只要第一列排序就行了。。。,必须放在第一列吧。。。你可以把第一给隐藏掉。。。这样,你就不会出现在显示的问题。。。
不知道我说的对不对?
Top
4 楼onepyc(超儿在思考)回复于 2002-11-22 12:43:13 得分 5
这个问题以前见过!
以前是这样的!^_^
假设,我的是这样的
keys(1) = "fld_year"
keys(2) = "xxx"
keys(3) = "yyy"
keys(4)="fld_name"
然而keys(2) = "xxx"keys(3) = "yyy"是空值,是否可以呢?
定义dim keys(1 to 2) as string
keys(1)="fld_year"
kyes(2)="fld_name"
中间的"xxx","yyy"列不要排序,然后用view.getalldocumentsbykey(keys),就可以,
其实你就是要把fld_name那列放在第二个排序列
Top
5 楼jackyzhan(小木可)回复于 2002-11-22 13:19:49 得分 5
TO:玉儿
你的问题出现可能是以下原因:
1。视图"workflow"的第一列不石排序列。
2。视图里列出的所有文档没有包含此关键字的文档。
在使用Set doc1=view.GetDocumentByKey("购买申请")的时候,将搜索出所有有包含“购买申请”域值的文档。采用getdocumentbykey("购买申请",true)将搜索和关键字对应域值的文档。
Top
6 楼kingwgh(我忘啦)回复于 2002-11-22 13:23:42 得分 0
楼上说的正确,
第一例必须是你的关键字的列且要排序Top
7 楼starwild(对酒当歌)回复于 2002-11-23 00:01:17 得分 0
GetDocumentByKey参数是一个数组,这个数组有几个元素,那么你的视图中的前几列就必须是排序列,否则该函数是起不了作用的。
例如你的程序就要求视图的第一列一定要是排序列,否则该函数是找不到你想找的文档的。Top




