Lotus注意到数据库路径

时间:2014-07-22 07:14:57

标签: vba excel-vba lotus-domino excel

我创建了一个宏,它将从莲花笔记中提取数据并且工作正常。现在发生的事情是莲花笔记的服务器名称已被更改,我的宏无法支持新服务器。不确定吗?它在searchCount给我一个错误。请看一看?我给你新的和新的代码,如果我错过了什么,请建议。

旧代码:

Set nSess = CreateObject("Lotus.NotesSession")
DSN1 = ("Driver={Lotus NotesSQL Driver (*.nsf)};Server=OLDSERVER Capital Markets;Database=Notes_DBs/GMI_CoreTrack/mlctrack.nsf;Uid=" & myUsername & ";Pwd=" & myPassword & ";")
Call nSess.Initialize(myPassword)
Set db = nSess.GetDatabase("OLDSERVER", "Notes_DBs/GMI_CoreTrack/mlctrack.nsf")
Set iviews = db.GetView("QA\QA Schedule")
strSearchKeyIssue = "FIELD AQAExecDate >= " & StartDate & " AND FIELD AQAExecDate <= " & EndDate
searchCount = iviews.FTSearch(strSearchKeyIssue, 0)
Set viewEntry = iviews.GetFirstDocument

新代码:

Set nSess = CreateObject("Lotus.NotesSession") 
DSN1 = ("Driver={Lotus NotesSQL Driver (*.nsf)};Server=NEWSERVER;Database=GMI\mlctrack.nsf;Uid=" & myUsername & ";Pwd=" & myPassword & ";")
Call nSess.Initialize(myPassword)
Set db = nSess.GetDatabase("NEWSERVER", "GMI\mlctrack.nsf")
Set iviews = db.GetView("QA\QA Schedule")
strSearchKeyIssue = "FIELD AQAExecDate >= " & StartDate & " AND FIELD AQAExecDate <= " & EndDate
searchCount = iviews.FTSearch(strSearchKeyIssue, 0)

在上面的行中收到错误消息:运行时错误80040fa0

Set viewEntry = iviews.GetFirstDocument

1 个答案:

答案 0 :(得分:0)

看起来像UNK表问题。

当该字段首次在该特定副本上创建时,如果它已在UNK表中标记为文本字段,即使您有日期值,也可能无法在视图中搜索日期值。

UNK表特定于每个副本。这就是为什么你在新服务器上遇到问题的原因。

以下是详细信息:http://www.intec.co.uk/full-text-search-musings/

此处解释了解决方案:https://www-304.ibm.com/support/docview.wss?uid=swg21261002

  

要查找可能发生的位置,可以使用Notespeek来执行此操作   搜索该字段并查找不正确的引用   更改。一旦修复了字段,UNK表仍然需要   要重建以及全文索引。要做到这一点,你会的。

     
      
  1. 删除全文索引。
  2.   
  3. 压缩数据库。这将重建UNK表。
  4.   
  5. 重新索引数据库。
  6.