程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> Access數據庫入門 >> 如何在Access2007 表中同時顯示明細、小計、總計

如何在Access2007 表中同時顯示明細、小計、總計

編輯:Access數據庫入門

  問題描述: 如何在Access2007 表中同時顯示明細、小計、總計?

  ID   fullname pay

  2    a     ¥500.00

  4    a     ¥600.00

  5    a     ¥700.00

  6    b     ¥800.00

  7    b     ¥55.00

  有以上格式的表格,要根據 FULLNAME 做小計,然後全部的做總計,變成以下格式

  fullname pay

  a      ¥700.00

  a      ¥600.00

  a      ¥500.00

  a 小計  ¥1,800.00

  b      ¥55.00

  b      ¥800.00

  b 小計   ¥855.00

  總計   ¥2,655.00

  該如何完成?

  問題解答:首先,應該了解,表是用來存儲數據的,而不是用來顯示統計結果以及顯示給最終用戶看的。類似工作應該在 Access2007 報表中完成,報表中可以分組且顯示小計。具體內容你可以參考幫助或者 NORTHWIND.MDB 示例數據庫中的報表。

  其次,在 ADO 中專門有一部分,稱為數據整形用來完成上述工作,但是它需要配合 VB 的 DATAGRID 等控件來完成顯示。 部分 VB 控件也可以使用在 Access2007 的窗體中。

  最後,如果你實在想在 Access2007 的表格中完成,你可以使用組織 JET SQL 生成查詢的方式來完成。

  select fullname,pay from pay 

  用來查詢出明細

  SELECT pay.fullname & " 小計" AS 表達式1, Sum(pay.pay) AS payAll

  FROM pay

  GROUP BY pay.fullname & " 小計" 

  用來分類匯總小計,注意上述技巧,在 FULLANME 字段旁加“ 小計”不只是為了好看,要將小計這行放在明細的下面完全要靠 ORDER BY FULLNAME 來實現,你可以通過調整這一行來編排它的顯示順序

  select "總計", sum(pay) from pay

  用來顯示總計數,請注意,“總”字的 ANSI 編碼必須大於 FULLNAME 字段中任何一個字符,否則就無法根據 FULLNAME 排序將總計數放在表格的最下面一行。提示:不能用“總”的時候你可以用其他字符,甚至是符號也可以,只要它的機器碼夠大就行。

  將上述語句用 UNION ALL 來組織就可以達到預想的效果。

  select fullname,pay from pay

  union all

  SELECT pay.fullname & " 小計" AS 表達式1, Sum(pay.pay) AS payAll

  FROM pay

  GROUP BY pay.fullname & " 小計"

  union all

  select "總計", sum(pay) from pay

  order by fullname

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved