2013-03-11 52 views
0

在Access 2010中,我有兩個表'聯繫人'和'PhoneCalls'。訪問/ DCount給出一個TExt字段,而不是INT字段?

我創建了這個查詢'聯繫',因爲我想看看我打了多少次聯繫。

查詢:

SELECT Contact.*, DCount("[ID]","ColdCall"," [ColdCall]![ContactID] = " & [Contact.ID]) AS Call 
FROM Contact 

我用下面的表達式構建這個查詢:

Call: DCount("[ID]","ColdCall"," [ColdCall]![ContactID] = " & [Contact.ID]) 

它工作正常,除了它創建一個文本字段,而不是數字字段。例如,我需要對這個查詢進行排序,但我只能將它排序爲「A到Z」,而不是「最小到最大」。

你對我如何解決這個問題有任何想法嗎?

回答

2

你可以使用CINT()來強制調用次數是一個整數:

SELECT Contact.*, CInt(DCount("[ID]","ColdCall"," [ColdCall]![ContactID] = " & [Contact.ID])) AS Call 
FROM Contact; 

另請注意,以這種方式使用DCOUNT()是相當低效。如果這種方法能夠滿足您的需求,那麼現在就繼續使用它,但是如果隨着桌子的增長而開始停滯不前,請不要感到驚訝。

+0

嗨戈德,這解決了我的問題,非常感謝。 當你說「相當低效」時,你的意思是我應該以另一種方式使用CInt()嗎?你能給我一個例子,我寧願按照最標準的方式:-)非常感謝你的幫助! – 123pierre 2013-03-12 01:51:28

相關問題