当前位置: 代码迷 >> Lotus >> 用ftsearch搜索文档,怎么写日期域的查询语句
  详细解决方案

用ftsearch搜索文档,怎么写日期域的查询语句

热度:84   发布时间:2016-05-05 07:09:52.0
用ftsearch搜索文档,如何写日期域的查询语句?

我现在要查询creattime大于某一天的文档,但ftsearch的查询语句报错,请高人指点一下
Dim   session   As   New   NotesSession
Dim   db   As   NotesDatabase
Dim   collection   As   NotesDocumentCollection
Dim   sql   As   String
Dim   curdoc   As   NotesDocument
               
Set   db   =   session.CurrentDatabase
Set   curdoc   =   session.DocumentContext  

sql$= "field   form=recordform   &   field   creattime> "+curdoc.creattime(0)
         
Set   collection=db.FTSearch(sql,0)

另一个问题是,在sql后面的$符号,有什么作用呀?经常看见,但不知道起什么作用

------解决方案--------------------
改成这样:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim sql As String
Dim curdoc As NotesDocument

Set db = session.CurrentDatabase
Set curdoc = session.DocumentContext

sql=|field form=recordform and Field creattime> |+curdoc.creattime(0)

Set collection=db.FTSearch(sql,0)

另外,$符号是字符串的隐式声明,你上面既然已经显式声明了sql是一个字符串,就没有必要再在下面隐式声明了。
------解决方案--------------------
sql=|field form= "recordform " and Field creattime> @date(|+curdoc.creattime(0)+|)|
------解决方案--------------------
dim time as string
time = curdoc.creattime(0)
sql= "form= 'recordfrom ' & creattime> [ " & Cstr(Time) & "]