需要实现查询,自己写了一个简单的,刚开始学,请大家帮忙看看哪有错误。非常感谢!

stupidfrog 2004-04-20 10:57:16
Sub Initialize
Dim session As New notessession
Dim db As NotesDatabase
Dim curdoc As notesdocument

Dim dc As Notesdocumentcollection

Dim doc As NotesDocument
Set doc=session.documentcontext '定义doc为当前文档

Dim sq As String '定义搜索的参数
Dim ss As String

Set db=session.currentdatabase
ss=doc.name
sq="form='peopledatum'"
sq=sq+" & @Contains(name;'"+ss+"')"

If sq<>"" Then
Set collection=db.FTSearch(sq,0)

End If
For i=1 To collection.count
Set curdoc=collection.getnthdocument(i)
unid=curdoc.UniversalID
tdb=Evaluate("@ReplaceSubstring(@Subset(@DbName;-1);'\\';'/')")
url="/"+tdb(0)+"/0/"+unid+"?opendocument"
t1=curdoc.name
t2=curdoc.nation
t3=curdoc.zzmm


Print|<TR><TD align=center width='100' style='word-break:break-all' class='black' height='17'><a href="+url+">| +t1+|</a></TD>|
Print|<td height=25 style="line-height:15px" align=center>|+ t2 +|</td>|
Print|<td height=25 style="line-height:15px" align=center>|+ t3 +|</td>|
Print|</tr>|

Next

End Sub
...全文
48 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zelloss 2004-04-29
  • 打赏
  • 举报
回复
楼上,你说的好办啊,你建个新视图,用视图选择公式来做!
或者查询条件里加上“FORM=XXX”
stupidfrog 2004-04-28
  • 打赏
  • 举报
回复
我用cstr(doc.name(0))已经取到了当前文档中域的值,也实现了查询,但是不能限定是取的哪个表单生成的文档。也就是不能指定表单。
zelloss 2004-04-28
  • 打赏
  • 举报
回复
用msgbox打出来,看看域值取到没,再把你的查询条件也打出来看看
wyz5678 2004-04-23
  • 打赏
  • 举报
回复
关注
我也出现过这个问题 不过一直没有找到解决的方法
一直只能用多个
If sq<>"" Then
sq=sq+" & @Contains(name;'"+ss+"')"
End If
………………
………………
………………
Set dc=db.FTSearch(sq,0)
进行多条件复合查询


stupidfrog 2004-04-22
  • 打赏
  • 举报
回复
经过修改已经实现,但是只有查询的条件是常量才能实现,当查询的条件是表单中的一个域值就不行了。问题出在取表单中的域值。我用
aa=doc.name(0)但是不行。请大家看看问题出在哪儿
glassch 2004-04-21
  • 打赏
  • 举报
回复
关注
水煮蛙 2004-04-21
  • 打赏
  • 举报
回复
抱什么错啊!
是不是没创建全文索引!
stupidfrog 2004-04-21
  • 打赏
  • 举报
回复
感谢楼上,是我错了,应该是dc。
zelloss 2004-04-21
  • 打赏
  • 举报
回复
你取域值事用doc.name(0)
你有个collection是什么?应该是dc吧?

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧