首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DCount()函数中的多个条件

DCount()函数中的多个条件
EN

Stack Overflow用户
提问于 2011-06-28 19:00:26
回答 2查看 10K关注 0票数 0

我正在使用2007。

代码语言:javascript
复制
A: DCount("[Name]","[Main]","[Name] = 'Mark'")/
   DCount("[Entry]","[Main]","[Entry] = 1")

好的,我基本上是在计算使用Mark这个名字的人数,除以我数据库中的条目数=1。这很容易,但我正在尝试应用第三个条件

地点=“芝加哥”

,但是Access不允许我这样做(它找不到表,尽管它在我前面指定的表中)。

代码语言:javascript
复制
   DCount("[Name]","[Main]","[Name] = 'Mark' AND [Location]![City] = 'Chicago'")/
   DCount("[Entry]","[Main]","[Entry] = 1")

我也尝试过在Design视图中使用Where子句过滤城市,但是在上面的计算之后应用了这个条件,所以无论是哪个城市,计算都是相同的。我只需要它来完成芝加哥市的上述计算。

这样的事情在DCount中是可能的吗?

而且,如果你能告诉我如何在对每一个城市分别进行计算的同时,按城市分组,我将是一个快乐的人,但如果有人能告诉我如何用第一种方法来做,我也会非常感激。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-28 21:18:46

地点是什么?我的答案是基于假设,它指的是一个名为City的字段,该字段位于一个名为Location的表中。

如果这是正确的,我认为您的问题是因为您试图基于一个不属于您告诉DCount使用的域(Main)的字段来指定一个条件。

微软的文档中,域是“一个字符串表达式,它标识构成该域的一组记录。它可以是不需要参数的查询的表名或查询名。”

因此,如果希望DCount条件引用两个表中的字段,则将以查询形式的表合并为单个“域”。您的查询可能是这样的,"qryMainWithCity":

代码语言:javascript
复制
SELECT m.[Name], m.Entry, m.City_ID, l.City
FROM
    Main AS m
    INNER JOIN Location AS l
    ON m.City_ID = l.City_ID;

如果该查询适用于您的情况,您应该能够使用这样的DCount表达式获得所需的内容:

代码语言:javascript
复制
DCount("*","qryMainWithCity","[Name] = 'Mark' AND City = 'Chicago'")
票数 1
EN

Stack Overflow用户

发布于 2011-06-28 21:37:26

我只是贴出了和“HansUp”一样的答案。我有一种替代的方法,那就是使用即时记录集查找:

代码语言:javascript
复制
  Dim varReturnValue as Variant

  varReturnValue = CurrentDB.OpenRecordset("SELECT Main.[Name] FROM Main INNER JOIN Location ON Main.City_ID = Location.City_ID WHERE Main.[Name] = 'Mark' AND Location.City = 'Chicago';")(0)

返回返回的记录集中的第一个字段(索引基于零)。这样你就不用保存查询了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6511728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档