試圖編寫一個SELECT語句,它將從表中選擇前3行tblProducts WHERE標識符與輸入數據的前兩個字符相同。我決定使用IN操作,但不是不起作用。我也嘗試過LI,而不是IN,但我不斷收到此行的錯誤消息。我的邏輯錯了嗎?TOP 3的SQL語句
SELECT TOP 3
FROM tblProducts
WHERE VendorID IN UCase(Me.txtProdID.Text)
試圖編寫一個SELECT語句,它將從表中選擇前3行tblProducts WHERE標識符與輸入數據的前兩個字符相同。我決定使用IN操作,但不是不起作用。我也嘗試過LI,而不是IN,但我不斷收到此行的錯誤消息。我的邏輯錯了嗎?TOP 3的SQL語句
SELECT TOP 3
FROM tblProducts
WHERE VendorID IN UCase(Me.txtProdID.Text)
我認爲你只是缺少您在top 3
之後的列定義。試試這個:
SELECT TOP 3 *
FROM tblProducts
WHERE VendorID = UCase(Me.txtProdID.Text)
另外,如果你想使用IN
,我認爲你需要括號。我將其更改爲=
。
編輯,重讀WHERE the Vender ID is like the first two characters of the entered data.
後,您可能需要使用LIKE
與LEFT
(或SUBSTRING
),不IN
您WHERE
標準:
WHERE VendorID like Left(UCase(Me.txtProdID.Text),2) + '%'
而且,你可能不需要ucase
- 依賴在你的數據庫整理。
你的錯誤是什麼? – paqogomez 2014-10-10 03:13:52