Access講座
網站公告
·Access快速平臺QQ群號:156702533    ·Access快速開發平臺下載地址及教程    ·歡迎添加微信交流賬號:AccessoftChu    ·如何快速搜索本站文章|示例|資料    
您的位置: 首頁 > 技術文章 > 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 子句中使用聚合函數。

   問:域聚合函數是什么?答:不知道。定義都不清楚,怎么處理問題。


    基礎知識的重要性-----所謂的基礎知識,就好比是蓋房子要打地基一樣,沒有堅實牢固的地基,房子就沒有穩定性;A知識是最基本的知識技能,包含運算、法則、各種基本規則等等。只有把這些知識牢記在心,那么對于學習新知識來說,是非常容易的而又便于理解的。
   聚合函數提供關于記錄集(一個域)的統計信息。例如,可以使用聚合函數計算特定記錄集的記錄數,或確定特定字段中數值的平均值。

兩種類型的聚合函數:域聚合函數和 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群 (群號:198348076)       access源碼網店

最新評論 查看更多評論(1)

2020/1/14 20:13:13qq1985178585
學習收藏了,不錯;

發表評論您的評論將提升作者分享的動力!快來評論一下吧!

用戶名:
密 碼:
內 容:
 

常見問答

技術分類

相關資源

關于我們 | 服務條款 | 在線投稿 | 友情鏈接 | 網站統計 | 網站幫助