2013-04-24 59 views
0

我有一個問題,在FTSearch方法查詢。我正在使用像" FIELD fldContractorCode = \"K005152\""這樣的查詢,這很好,但現在我需要添加一個選項來查詢。我試圖使用:蓮花多米諾骨牌FTSearch查詢

"form= "formcontractor" & FIELD fldContractorCode = "K005152"" 
"Form = "formcontractor" & FIELD fldContractorCode = "K005152"" 
"FORM = "formcontractor" & FIELD fldContractorCode = "K005152"" 
"form= "formcontractor" AND FIELD fldContractorCode = "K005152"" 
"Form = "formcontractor" AND FIELD fldContractorCode = "K005152"" 
"FORM = "formcontractor" AND FIELD fldContractorCode = "K005152"" 

但我總是得到錯誤,查詢是不可理解的。

如何使這個查詢工作?

回答

3

如果你真的使用FTSearch,則該公式將有看起來像:

FIELD form ="formcontractor" & FIELD fldContractorCode = "K00515" 

您需要「現場」 - 聲明在每一個語句的前面...... 一個較短的形式是:

[form] = "formcontractor" & [fldContractorCode] = "K00515" 

您甚至可以在FTSearch中省略「」 - 標誌。

但我真的不會推薦使用FTSearch,因爲它總是一個「包含」 - 搜索(查詢也會發現K00515xxx)。

更好地利用NotesDatabase-類的.search-方法,寫它喜歡:

db.Search({Form ="formcontractor" & fldContractorCode = "K00515"}, Nothing, 0) 

那麼你一定要只返回包含正是你尋找的數據文件。而在速度方面,它應該稍微慢一些。

+1

db.Search慢得多。我會不惜一切代價避免這種情況。 另一個解決方案是使用col.GetDocumentByKey(ket $,True)來使用視圖查找 – 2013-04-30 15:31:21

+0

您當然是對的,db.Search比較慢,但只要它在後臺代理中使用,我們通常會談論幾秒鐘(或者如果數據庫非常大(100.000文檔及更多),則需要幾分鐘)。當然,你不會想要等待這個結果而困擾用戶,當然GetDocumentByKey會更快,但在某些情況下,你根本不想(或不允許)在目標數據庫... – 2013-04-30 16:44:01

相關問題