這可能以前曾被問過,但我似乎無法在任何地方找到任何相關答案。訪問查詢是否自動截斷?
幾個星期前,我在Access(2003)中寫了幾個長查詢。我想今天使用這些查詢,並發現它們已被截斷。查詢開始,因爲它應該和其中一半的地方說AS [%$##@_Alias]
和其他缺失。
這兩個查詢都只有幾百個字符長,遠遠低於Access所允許的限制。
兩個查詢的結構是這樣的
SELECT Some calculated fields with a few IIF statements
FROM
(
SELECT Some fields calculated with lots of IIF statement
FROM joined table
WHERE some condition
)
ORDER BY Some fields
我並不特別苛刻的訪問,當然不應該導致其截斷憤怒查詢。那麼爲什麼會發生?
請不要抨擊我現在寫日文文本,下一部分是純粹供參考。我的一個實際(截)查詢看起來是這樣的:
SELECT
管理番號,
種別,
IIF(種別TYPE='', OTHER種別TYPE, IIF(種別TYPE='その他','その他' & OTHER種別TYPE,種別TYPE)) AS TYPE
FROM [
SELECT
管理番號,
IIF(建物か設備_建物,'建物',IIF(建物か設備_設備, '設備', '種別なし')) AS 種別,
IIF(建物か設備_建物,IIF(建物用途_戸建住宅,'戸建住宅',IIF(建物用途_共同住宅,'共同住宅',IIF(建物用途_教育施設,'教育施設',IIF(建物用途_庁舎,'庁舎',IIF(建物用途_事務所,'事務所',IIF(建物用途_工場,'工場',IIF(建物用途_倉庫,'倉庫',IIF(建物用途_店舗,'店舗',IIF(建物用途_物置小屋,'物置小屋',IIF(建物用途_車庫,'車庫',IIF(建物用途_農作小屋,'農作小屋',IIF(建物用途_その他,'その他')))))))))))),
IIF(建物か設備_設備,IIF(設備種別_物置,'物置',IIF(設備種別_駐車場,'駐車場',IIF([設備種別_運動場/庭等],'運動場/庭等',IIF(設備種別_電気設備等,'電気設備等',IIF(設備種別_畜舎など,'畜舎など',IIF(設備種別_ビニールハウス等,'ビニールハウス等',IIF(設備種別_その他,'その他'))))))),'')) AS 種別TYPE,
'(' & REPLACE(REPLACE(TRIM(建物用途_その他記載欄),'(',''),')','') & ')' AS OTHER種別TYPE
FROM
T_メイン INNER JOIN T対象 ON T_メイン.管理番號=T対象.調査番號]. AS [%$##@_Alias];
編輯
我都複查我的查詢,不像我說的只是其中之一得到了截斷。另一個是完好的。非常奇怪...
你說得對,如果我給它一個別名,它會正常工作。看起來像保存查詢時需要別名,即使查詢執行時不是這樣。你能否重寫這個答案? –
順便說一句,你有沒有注意到自動別名添加後你的一個查詢被縮短? –
不,我沒有看到我的SQL文本的任何部分在這種情況下被丟棄。但是,這並不是很有效,因爲我養成了習慣性地分配我自己的別名的習慣。也許我可能會看到它,如果我讓設計師爲我更頻繁地添加別名。我真的不知道。 :-( – HansUp