ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: ruuw

[求助] 根据日期段,从Access内计算并将结果导入到Excel

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-23 15:20 | 显示全部楼层
本帖最后由 ruuw 于 2019-10-23 15:26 编辑
999110022 发表于 2019-10-23 15:07
下载下来以后在我电脑里面文件名是汉字的地方是乱码,在vbe里面fname变量的值里面写的文件名也是乱码,我没 ...

我这显示的结果如下图:另外可不可以“本期未库存结存”也直接在ACCESS计算后导出,不要在EXCEL内用公式计算。
untitled3.png

TA的精华主题

TA的得分主题

发表于 2019-10-23 15:29 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这个我就说不好是什么原因了,没有报错正常运行说明能够正常连接数据库。但是取出的数据都不对的话就奇怪了。
要不你试试在VBE里面按F8键一行一行的执行代码,再在本地窗口里面看看各个变量的状况,应该就能查出来是哪里出的问题。

TA的精华主题

TA的得分主题

发表于 2019-10-23 15:45 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
999110022 发表于 2019-10-22 10:24
刚下夜班没有时间弄,给你个思路自己搞搞吧?
1,vba连接数据库
2,计算期初库存数量,思路是分别查询期 ...

这种感觉sql也可以先group by再join可以不要循环的。
SRC_20191023_154334.png
SRC_20191023_154024.png
SRC_20191023_153944.png

TA的精华主题

TA的得分主题

发表于 2019-10-23 15:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
第一次在数据库取大类和小类的信息没有问题正常取出来了并写到文件里了。说明数据库连接没有问题,能够正常查询。
第二次取数据时出现了问题,数据库返回的结果估计是空值,所以全填写的0。现在最大的嫌疑就是那四个sql语句的问题。而这四个语句里面我觉得嫌疑最大的就是type字段里面的出和入。
你先试着把sql语句里面的出和入两个字删掉,再重新打字输入一下,看看能不能解决。
实在不行就把数据库里面的出入库那里把出和入改成英文比如in和out之类的,然后在sql语句里面type='in'和type='out'的写。
我的经验教训就是在数据库里面字段名能不写汉字就不写汉字,拼音都行。关键字段里面的信息的话也是尽量不写成汉字。就怕以后sql查询时会出一些莫名其妙的问题。

TA的精华主题

TA的得分主题

发表于 2019-10-23 16:04 | 显示全部楼层
另外你提的要求自动填写F列的信息的话在For i = 5 To Sheets(1).Range("b65536").End(xlUp).Row这个循环的最后,NEXT之前写上
Sheets(1).Range("F" & i).Value = Sheets(1).Range("C" & i).Value + Sheets(1).Range("D" & i).Value - Sheets(1).Range("E" & i).Value
就好了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-23 16:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
999110022 发表于 2019-10-23 16:04
另外你提的要求自动填写F列的信息的话在For i = 5 To Sheets(1).Range("b65536").End(xlUp).Row这个循环的 ...

我这出现的情况如下图,请教一下,要改哪里?
untitled1.png

TA的精华主题

TA的得分主题

发表于 2019-10-23 16:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个是我电脑的截屏,你看看吧。
スクリーンショット (4).png

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-24 07:41 | 显示全部楼层
999110022 发表于 2019-10-23 16:49
这个是我电脑的截屏,你看看吧。

我把你程序中的日文转换成中文后,问题没了。但运算过程有点卡,是不是还可以优化?

TA的精华主题

TA的得分主题

发表于 2019-10-24 08:50 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这两天都是早班,白天上班弄不了,晚上回家还要陪孩子玩。周末吧。正好想想楼上的提出来的sql语句的事。
另外,你数据库里面有多少条数据啊?很多吗?

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-10-24 11:30 | 显示全部楼层
统计.rar (49.54 KB, 下载次数: 11)
一句SQL搞定

QQ14885553.png 2.png

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-17 16:56 , Processed in 0.039719 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表