2015-10-13 34 views
0

我想生成一個報告,它將顯示某年某個級別的所有類。我的數據從第1年到第12年,並且類從A到H。因此,例如,它從1A開始並在12H結束。訪問SQL:文本框之後的單字符通配符

我寫了下面的SQL代碼,以便返回某一年級別的所有類,但是我遇到了一個我知道我會遇到的問題。我的代碼如下:(注意,txtYearLevel是用戶輸入他們希望觀看到的類年級的文本框)

SELECT [form classes].[Form Class] 
FROM [form classes] 
WHERE [form classes].[Form Class] like Forms![navigation form]![navigationsubform].Form!txtYearLevel & "_"; 

^這個不返回任何結果。我以爲我應該使用這樣的方法,因爲_表示單個通配符。 (所以這將工作單數字的年份水平,我會寫一個類似的代碼來照顧兩位數的年水平的)

我也試過:

SELECT [form classes].[Form Class] 
FROM [form classes] 
WHERE [form classes].[Form Class] like Forms![navigation form]![navigationsubform].Form!txtYearLevel & "*"; 

^這將返回結果。但是,如果我要輸入「1」,例如,我會在第1,10,11和12年級獲得所有課程。

本質上,我想找到一種方法來區分單數位類與雙位數類他們不會出現在搜索中,除非我專門查找一個雙數字類(例如鍵入'12')。

謝謝!

回答

1

在Access SQL中,?是單個字符的通配符,而不是_

所以 -

SELECT [form classes].[Form Class] 
FROM [form classes] 
WHERE [form classes].[Form Class] LIKE 
    Forms![navigation form]![navigationsubform].Form!txtYearLevel & "?";