MS Access查询:非数字列Tools的Card计数求和(无需SQL)
在MS Access中无需SQL统计指定字符串的行数
直接按以下步骤操作就能解决问题:
- 打开查询设计视图,添加你的目标数据表
- 在查询网格的空白字段列,输入计算字段表达式:
IsCard: IIf([Tools]="Card",1,0)。这个表达式会把Tools值为Card的行转为数字1,其他行转为0,规避字符串类型无法求和的问题 - 点击工具栏上的「总计」按钮(或右键查询网格选择「总计」),将查询切换为总计模式
- 在这个计算字段对应的「总计」下拉框里,选择「Sum」选项
- 不需要额外添加Tools列或设置筛选条件,直接运行查询,结果就是Tools列值为Card的总行数
之前的错误在于:直接对字符串类型的Tools列使用Sum(Count([Tools]))逻辑冗余且类型不兼容——Count是统计非空行,Sum套Count完全没必要,而且字符串列无法直接参与求和运算。用IIf把目标行转成数字后,再用Sum求和就完美解决了类型问题,同时实现了统计目标行数的需求。
内容的提问来源于stack exchange,提问作者Amiga 500
相关产品推荐
相关产品推荐

