Access / DCount给出一个TExt字段而不是INT字段?

时间:2013-03-11 10:02:48

标签: ms-access ms-access-2010

在Access 2010中,我有两个表'Contact'和'PhoneCalls'。

我为“联系人”创建了此查询,因为我想看看我拨打联系人的次数。

查询:

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

我使用以下表达式构建此查询:

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

它工作正常,只是它创建一个TEXT字段而不是NUMBER字段。例如,我需要对此查询进行排序,但我只能将其排序为“A到Z”而不是“应该是最小到最大”。

你对我如何解决这个问题有任何想法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用CInt()强制将调用计数设为整数:

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

另请注意,以这种方式使用DCount()效率相当低。如果这种方法让您满意,那么现在继续使用它,但如果它随着表的增长而开始陷入困境,不要感到惊讶。