Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请高手帮忙分析这句话的意思

理想  发表于:2012-02-03 19:54:18  
复制

ID  名称    规格   数量

1   铅笔    HB      2

1   铅笔    HB      3

2   橡皮    20H     3

2   橡皮    20H     7

2   橡皮    20H     5

如何实现合并后变成:

ID  名称    规格   数量

1   铅笔    HB      5

2   橡皮    20H     15


  SELECT DISTINCT 表1.ID, 表1.名称, 表1.规格, DSum("数量","表1","表1.ID=" & [ID] & "") AS 总数 FROM 表1

能否详细解释以下上面的意思?

DSum("数量","表1","表1.ID=" & [ID] & "")


&是什么意思
!是什么意思
" & [ID] & "是什么意思
DSum("数量","表1","表1.ID=" & [ID] & "")是什么意思

 

Top
学习者 发表于:2012-02-03 20:38:02

SELECT DISTINCT 表1.ID, 表1.名称, 表1.规格, DSum("数量","表1","表1.ID=" & [ID] & "") AS 总数 FROM 表1,意思是查询表上不重复的记录,也即去掉重复的,如果二个,只显示一个,并对符合输入的ID值的数量字段进行汇总

&意思是:链接   如: "张三" & "李四"  那么就系统会知道是   张三李四  

!的意思是:访问    若txtField是窗体上的一个文本控件  那么  me!txtField  即访问本窗体上的txtField文本控件上的值(这个可以自己理解自己的一种意思)

" &[ID]&" 是指指定ID这个字段的一个值  如果你执行上面那条查询语句的时候,他会提醒你输入一个ID值的

 DSum("数量","表1","表1.ID=" & [ID] & "") 意思是对ID等于" &[ID]&" 的行中的数量进行汇总



蟹仔 发表于:2012-02-03 21:03:25
dsum dcount dlookup这些函数的用法会有三个参数,用逗号分开,用引号注明具体参数名,如果没有引号,他就是一个变量。 第一个参数是需要获得的或者需要进行计算的,例如数量,第二个参数是表名,第三个参数是条件,如果你使用了几个同时含有ID这个字段的表,就需要在字段前面加表名跟点,例如表1.ID,当然,你这个例子可以去掉这个“表1.”,不会影响使用,后面的" & ID & ",是一个变量,两个&连接起来就代表可变的参数,双引号引用的是数字,单引号是文本,井号是日期,如果你去掉了& ,例如表1.ID="6 ",条件就变成查找ID为6的那条记录。!一般用在指定地址的参数,如forms!窗体名!控件名,什么时候用点,什么时候感叹号,什么时候单引号,什么时候双引号,尤其是同一句SQL语言,在查询利用跟在VBA代码利用是不一样的,需要区分开。例如docmd.runsql "SELECT DISTINCT 表1.ID, 表1.名称, 表1.规格, DSum('数量','表1','表1.ID=" & [ID] & "') AS 总数 FROM 表1"  这里有些双引号就变成了单引号。

理想 发表于:2012-02-03 21:03:44

学习者高手啊!



理想 发表于:2012-02-03 21:06:52
蟹仔真厉害呀!谢谢你们!我在理解一下

学习者 发表于:2012-02-03 23:31:14
补充一下   ID=" & [ID] & ""  这种如果字段名与所需输入的提示字符串一样   那么就不会提示输入ID值  直接是对当前记录为止做汇总,这个一般是做累计的   如算余额等

总记录:5篇  页次:1/1 9 1 :