访问查询会自动被截断吗?

时间:2013-02-07 04:34:43

标签: ms-access ms-access-2003

之前可能会问过这个问题,但我似乎无法在任何地方找到任何相关的答案。

几周前我在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

我不特别要求Access,并且当然不应该导致它在愤怒中截断查询。那么为什么会这样呢?

请不要抨击我现在放入日文,下一部分纯粹是供参考。我的一个实际(截断)查询看起来像这样:

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];

修改

我重新检查了我的两个查询,而不像我说的只有其中一个被截断了。另一个是完整的。非常奇怪...

1 个答案:

答案 0 :(得分:2)

我注意到如果我没有为子查询分配别名,Access'查询设计器将为我分配一个。这些别名类似于你引用的那个,[%$##@_Alias]。但是,我没有注意到它在添加这样的别名时丢弃了我的SQL文本的任何部分。因此,尽管此建议可能很长,但请尝试分配您自己的别名,例如FROM ( ... ) AS sub,并查看查询设计器是否保留其余的SQL文本。