我有一個查詢交易表的報表的範圍選擇記錄,我已經簡化如下表所示:水晶報表 - 通過文字
CREATE TABLE [dbo].[NL_Trans](
[NT_PRIMARY] [int] NOT NULL,
[NT_CODE] [varchar][20] NOT NULL,
[NT_CAT1] [varchar](6) NOT NULL,
[NT_CAT2] [varchar](6) NOT NULL,
)
表中數據是這樣的:
NT_PRIMARY -- NT_CODE --- NT_CAT1 --- NT_CAT2
---------------------------------------------
1 AB100 123 234
2 AB200 124 234
3 AB300 125 235
4 AB400 126 235
該表格有幾年的數據,並有8字段,這些數字存儲爲varchar的。
我有一個很大的類別列表來限制查詢,但我找不到一種方法來限制這個範圍的文本。 到目前爲止,我曾嘗試:
{NL_Trans.NT_CAT1} IN "124" to "125"
AND
(CDbl ({NL_Trans.NT_CAT1}) IN 124 to 125))
既不都返回任何結果。
我無法使用大量的OR語句,因爲在某些情況下,範圍超過100個項目,這意味着我需要數千行。
任何人都可以提供一個可以工作的替代方案(如果可能的話,可以使用Catagories索引),或者告訴我爲什麼上述兩種方法都不起作用?
終於找到了問題,多虧了你的測試,這是一個帶括號的基本格式錯誤,'Cdbl IN Range'方法現在正在工作。 – bendataclear