「案例更正」SQL查询汇总EXCEL表数据:出入库统计增加上年库存统计并按名称排序

文摘   教育   2024-11-08 21:58   江苏  

关于本公众号】了解一下,欢迎关注谢谢!

快速浏览

实用案例

|日期控件||简单的收发存||收费管理系(Access改进版)|

|电子发票管理助手||电子发票登记系统(Access版)|

|文件合并||表格拆分||审计凭证抽查底稿|

|中医诊所收费系统(Excel版)||中医诊所收费系统(Access版)||银行对账单自动勾对|

|印章使用登记系统|

收费使用项目

|财务管理系统||工资薪金和年终奖个税筹划||新税法下工资表模版|

内容提要

  • SQL查询汇总EXCEL表数据「更正」
大家好,我是冷水泡茶,前段时间我们分享过一个SQL查询Excel表数据的案例:

SQL查询汇总EXCEL表数据:出入库统计增加上年库存统计并按名称排序

当时也没有仔细推敲,后来发现查询“入库”、“出库”、“本年库存”的SQL语句是有问题的,实际上是查询了“本年及以前”所有的“入库”、“出库”,并非当年的数据:
'查询本年库存sql2 = "SELECT 名称, SUM(入库) AS 入库, SUM(出库) AS 出库, " & _    "(SUM(入库) - SUM(出库)) AS 本年库存 " & _    "FROM " & tbl & " " & _    "WHERE YEAR(日期) <= " & currYear & " " & _    "GROUP BY 名称"
那么该如何修改呢?直接修改WHERE条件还不能达成目的。如果把以上语句拆分成两条,一条查询当前入库、出库,WHERE条件为等于currYear,一条查询本年库存,WHERE条件为小于等于currYear,然后再合并,应该能行,但太啰嗦,多次查询效率可能也不理想。
近来在陆续分享一些SQL操作ACCESS方面内容:

1、EXCEL VBA操作ACCESS数据库,实现增删改查【基础篇】(免费)!

2、EXCEL VBA操作ACCESS数据库,获取表头字段,SQL查询语句自定义函数【提高篇】

3、EXCEL VBA操作ACCESS数据库,操作表(创建、修改、删除),ADO的OpenSchema方法,获取所有表名【扩展篇】

也仔细研究了一下SQL语句,利用IIF函数,可以把查询上年库存、入库、出库、本年库存的几条SQL语句可以合并成一条:
sql = "SELECT 名称, SUM(IIF(YEAR(日期) < " & currYear & ", 入库 - 出库, 0)) AS 上年库存 ," _    & "SUM(IIF(YEAR(日期) = " & currYear & ", 入库 , 0)) AS 入库, " _    & "SUM(IIF(YEAR(日期) = " & currYear & ", 出库 , 0)) AS 出库, " _    & "SUM(IIF(YEAR(日期) <= " & currYear & ", 入库 - 出库, 0)) AS 本年库存  " _    & "FROM " & tbl & " " _    & "WHERE YEAR(日期) <= " & currYear & " " _    & "GROUP BY 名称 ORDER BY 名称 "
完美达成目的!
完整代码详见当天另一条推文!

~~~~~~End~~~~~~

安利小店
安利的牙膏非常不错,用了以后就不想再用其他的了;洗洁精洗衣液也是日常必备,用过都说好!

合谷医疗
合谷医疗专攻各种疑难杂症,尤其擅长抑郁症焦虑失眠儿童神经发育异常多动症自闭孤独症腰颈椎疾病治疗,可谓神乎其技!体验过的直呼早点来就好了

喜欢就点个、点在看留言评论、分享一下呗!感谢支持!

案例文件分享说明

  • 案例文件可免费分享,但需符合以下要求:

  • 关注点赞点在看点...留言,方便的话分享一下就完美啦!如果不便走上面的“流程”,请打赏,万分感谢!

  • 请添加上方我的合谷医疗企业微信,案例文件通过微信发送。如有定制需求,亦可通过微信联系。

  • Excel问题,请在文章下面留言讨论!或者加入我的付费交流群提问

VBA编程实战
Excel应用案例、Excel VBA、公式函数使用技巧分享,思路解读...... 这里有鲜活案例、实用的技巧......
 最新文章