【问题标题】:Access / DCount gives a TExt field and not INT field?Access / DCount 给出一个 TExt 字段而不是 INT 字段?
【发布时间】:2015-07-22 03:54:21
【问题描述】:

在 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”排序,而不是“从小到大”排序。

你知道我该如何解决这个问题吗?

【问题讨论】:

    标签: ms-access ms-access-2010


    【解决方案1】:

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

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

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

    【讨论】:

    • 嗨,戈德,这解决了我的问题,非常感谢。当您说“相当低效”时,您的意思是我还应该以另一种方式使用 CInt() 吗?你能给我一个例子吗,我宁愿遵循最标准的方式:-)非常感谢你的帮助!
    猜你喜欢
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多