有沒有辦法根據用戶在文本框中的輸入限制查詢返回的記錄數?我知道如果記錄數量不變,我可以使用最高值,但這個數字會改變。我嘗試過:限制根據表單控件返回的記錄數
SELECT TOP[Forms![frm_GenerateMailout]![MailoutSize]]
..但那並沒有奏效。
有沒有辦法根據用戶在文本框中的輸入限制查詢返回的記錄數?我知道如果記錄數量不變,我可以使用最高值,但這個數字會改變。我嘗試過:限制根據表單控件返回的記錄數
SELECT TOP[Forms![frm_GenerateMailout]![MailoutSize]]
..但那並沒有奏效。
這取決於如何,何地,您使用的是SQL語句,但是如果你構建的是一個字符串,你需要正確地串連它:
"SELECT TOP " & Forms!frm_GenerateMailout!MailoutSize & ".. etc."
「有沒有辦法來限制人數根據用戶在文本框中的輸入查詢返回的記錄?「
訪問SQL不接受任何類型的參數與SELECT TOP
。
不幸的是,當你嘗試,錯誤消息(#3141)不認清楚問題:
「SELECT語句包含保留字或拼寫錯誤或缺少變量名,或標點符號是不正確的。」
如果你可以使用VBA構建你的SELECT
,你可以通過在Andy所描述的字符串中構建數字來解決這個問題。或者,您可以使用Replace()
替代MailoutSize
值作爲預置SQL語句中的佔位符。
於是開始......
strTemplateSql = "SELECT TOP 100 PERCENT tblFoo.*" & vbCrLf & _
"FROM tblFoo;"
你可以這樣做......
strSelect = Replace(strTemplateSql, "100 PERCENT", _
Forms!frm_GenerateMailout!MailoutSize)
還有其他的可能性了。如果我們的建議都不適合您的情況,請告訴我們您需要在何處以及如何使用查詢。
好的,謝謝你讓我知道我只能在VBA中做到這一點。我確實將它移到那裏,它正在工作。 – TinaB