Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

Access基础知识---域聚合函数和SQL聚合函数的区别是什么!

时 间:2014-07-31 07:55:10
作 者:小赵   ID:30394  城市:兰州
摘 要:域聚合函数和SQL聚合函数
正 文:

有网友或学员在做查询时,经常在查询出现这种错误,然后百思不得其解。
   1、GROUP BY 子句中不能有聚合函数。(错误 3098)?---不能在 SQL 语句的 GROUP BY 子句中使用聚合函数。
   2、表达式中不能有聚合函数。(错误 3095)---不能在此表达式中使用聚合函数。
   3、Where 子句中不能有聚合函数。(错误 3096)---不能在 SQL 语句的 Where 子句中使用聚合函数。

   问:域聚合函数是什么?答:不知道。定义都不清楚,怎么处理问题。


    基础知识的重要性-----所谓的基础知识,就好比是盖房子要打地基一样,没有坚实牢固的地基,房子就没有稳定性。基础知识是最基本的知识技能,包含运算、法则、各种基本规则等等。只有把这些知识牢记在心,那么对于学习新知识来说,是非常容易的而又便于理解的。
   聚合函数提供关于记录集(一个域)的统计信息。例如,可以使用聚合函数计算特定记录集的记录数,或确定特定字段中数值的平均值。

两种类型的聚合函数:域聚合函数和 SQL 聚合函数,两者提供相似的功能,但用于不同的场合。SQL 聚合函数可以在 SQL 语句的语法中使用,但不能直接从 Visual Basic 中调用。与之相反,域聚合函数可以直接从 Visual Basic 代码中调用,并且也可以在 SQL 语句中使用,不过 SQL 聚合函数通常更为有效。

    如果要在代码中执行统计运算,必须使用域聚合函数。使用域聚合函数还可以指定条件、更新数值,或在查询表达式中创建计算字段。
    在窗体或报表的计算控件中可以使用 SQL 聚合函数,也可以使用域聚合函数。

请问:DCount和Count函数有什么区别啊?
首先:DCount是域聚合函数,Count是SQL聚合函数。

域聚合函数:功能比较强大,能够在VBA代码、计算控件、宏的条件表达式中,能够对某一数据集,按照给定的条件,对某特定字段进行统计。

SQL聚合函数:一般用在SQL语句中,或绑定的文本框控件源中,其计算结果依赖于窗体或报表的记录源。

例1、利用DCount函数统计男教师人数:  DCount("[教师编号]","教师","[教师]![性别]='男' "):这是域聚合函数,用于统计个数,该函数有三个参数。
   "教师":表示教师数据表
   "[教师]![性别]='男' ":表示要从数据表中筛选出男教师记录
   "[教师编号]":表示对筛选出的记录,统计记录中教师编号的个数
   这里指定了条件、数据源、统计字段

例2、利用Count函数统计教师人数:  Count([教师编号]):SQL函数,也用于统计个数,只有一个参数。
   [教师编号]:指定统计数据源中教师编号的个数
  这里我们看到,SQL函数并没有指定数据源,筛选条件。
其他函数依此类推!


Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助