2017-03-29 40 views
0

我一直在使用下面的SQL查詢在Access年功能,previosuly工作,直到我搬到我的數據到Oracle: -替代甲骨文

SELECT Count(*) AS xCount 
FROM tblQuotesNew AS t1 
WHERE (((t1.sales_route)='Sales Mailbox') AND ((t1.DATE_SENT_TO_REGISTRATIONS)=Year(Date()))); 

現在,這會產生不一致的數據類型的錯誤是訪問。

我應該如何調整我的查詢以便在Access中執行?

+0

在Oracle中,你可以得到當年在幾種不同的方法,如'提取物(一年CURRENT_TIMESTAMP)'但是, Access和Oracle之間的確切關係是什麼?你需要一個跨DMBS查詢,或者你以某種方式連接兩個程序? –

+0

我只使用Access作爲前端。所有數據都保存在Oracle中。上面的查詢僅限於當前年份。 – user1936588

+0

因此'DATE_SENT_TO_REGISTRATIONS'確實是一年,而不是日期? – Gustav

回答

1

您可以在Access中使用正常的查詢(而不是直通):

SELECT 
    Count(*) AS xCount 
FROM 
    tblQuotesNew AS t1 
WHERE 
    t1.sales_route='Sales Mailbox' 
    AND 
    (t1.DATE_SENT_TO_REGISTRATIONS Between 
     DateSerial(Year(Date()), 1, 1) And 
     DateSerial(Year(Date()), 12, 31)); 
+0

完美的作品。謝謝。 – user1936588