2012-03-01 76 views
0

在當天早些時候,我想出了以下查詢。搜索包含字符串的字段Access 07

SELECT DISTINCT Visits.KHA_ID, Visits.totalCharges 
    FROM (Visits INNER JOIN (ICDTable INNER JOIN ICDVisitsJxn ON ICDTable.ICD9ID = ICDVisitsJxn.ICD_IDFK) ON Visits.ID = ICDVisitsJxn.VisitsIDFK) 
INNER JOIN (ICDTable AS ICDTable_1 
INNER JOIN ICDVisitsJxn AS ICDVisitsJxn_1 ON ICDTable_1.ICD9ID = ICDVisitsJxn_1.ICD_IDFK) ON Visits.ID = ICDVisitsJxn_1.VisitsIDFK 
    WHERE (((ICDTable.Description) 
Like "*[enter term]*") AND ((ICDTable_1.Description) Like "*[enter another term]*")); 

這是我想要的方式。但是,如果不必在用戶可以搜索字符串的相應字段中鍵入確切的文本,我寧願選擇。這將類似於Like *這裏*構造Access使用的詞。我一直硬編碼子字符串。任何人都知道如何以編程方式做到這一點。

+0

這裏的斜體詞應該被asteris包圍KS。 – wootscootinboogie 2012-03-01 19:50:20

+0

感謝您的提示。 – wootscootinboogie 2012-03-01 20:18:04

+1

保留字規則的例外是單詞前綴爲表名或別名的位置,在這種情況下,不需要方括號。 – Fionnuala 2012-03-01 20:29:11

回答

3

如果您在Access中運行這個,只需添加*:

WHERE (((ICDTable.Description) Like "*" & [enter term] & "*") 
AND ((ICDTable_1.Description) Like "*" & [enter another term] & "*")); 

你可以參考一個控制窗體上:

WHERE (((ICDTable.Description) Like "*" & Forms!MyForm!FirstTerm & "*") 
AND ((ICDTable_1.Description) Like "*" & Forms!MyForm!SecondTerm & "*")); 
+0

我試過了,它返回了所有記錄。讓我看看我做錯了什麼。 – wootscootinboogie 2012-03-01 19:56:30

+1

如果你沒有輸入一個術語,它會返回所有記錄,因爲你有'WHERE東西就像*' – Fionnuala 2012-03-01 19:58:16

相關問題