2017-06-13 89 views
0

我在MS Access中寫了一個查詢,我能夠成功運行。但是,無論什麼時候回到MS Access 2010中的設計視圖,它都會將其更正爲SQL,甚至不起作用!MS Access不斷打破我的查詢

這是我原來的SQL(我成功運行):

SELECT [AssetTypeCounts].DELIVERED_IDENTIFIER, 
[AssetTypeCounts].DELIVERED_SOURCE, 
Switch([AssetTypeCounts].TYPES<1,"Missing", 
[AssetTypeCounts].TYPES=1,"Correct",[AssetTypeCounts].TYPES>1,"Conflicting") AS STATUS 
FROM (
    SELECT DELIVERED_IDENTIFIER, DELIVERED_SOURCE, Sum(IIf(Len(PRODUCTTYPE)>0,1,0)) AS TYPES 
    FROM (
    SELECT DISTINCT DELIVERED_IDENTIFIER, PRODUCTTYPE, BILLINGCODE, DELIVERED_SOURCE  
    FROM AprilUsageFile) AS "DisctinctAssetIdBySource" 
    GROUP BY DELIVERED_IDENTIFIER, DELIVERED_SOURCE 
) AS AssetTypeCounts; 

我去後回設計視圖我得到一個錯誤:

The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data.

我甚至沒有得到一個機會編輯查詢。

爲什麼Access會不斷改變我的查詢?

我可以禁用MS Access更改查詢的功能嗎?

+2

不要在視圖模式下打開它,它不能正確顯示它,因此它會中斷。僅使用SQL視圖。 –

+0

評論https://stackoverflow.com/questions/22078688/ms-access-error-the-field-is-too-small-to-accept-the-amount-of-data-you-attempt和https:// support.microsoft.com/en-us/help/896950/error-message-when-you-run-a-query-in-access-the-field-is-too-small-to-accept-the-amount-您嘗試添加的數據的數據 – June7

+0

訪問SQL不使用雙引號標識符。嘗試使用'AS DisctinctAssetIdBySource'將其刪除。 – Parfait

回答

0

嘗試通過在即時窗口打印到創建一個新的查詢:

Dim qDef As DAO.QueryDef 
Set qDef = CurrentDb.QueryDefs("NameOfBrokenQuery") 
Debug.Print qDef.SQL 
0

一般來說在設計模式不打開SQL查詢,因爲訪問都是會改變它的部分,然後這將是困難你要改變它。