ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1118|回复: 5

[求助] EXCEL导出到ACCESS的几点小问题,有点烧脑,希望得到高人的指点!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-8-31 17:27 | 显示全部楼层 |阅读模式
本帖最后由 gcloveu 于 2018-8-31 22:53 编辑

业务报表这个工作表在有改动或填加记录时导出到数据库的过程中遇到了一些问题!
1.在业务报表插入一条复制的记录时Worksheet_Change会触发两次,这样就会每插入一条记录在数据库填加两条记录。不知道是什么Worksheet_Change会触发两次。
2.插入记录到数据库时,EXCEL里辅助字段SortFlagForDB的小数值到了数据库就变成了整数,虽然我将数据库的SortFlagForDB字段改成了两位小数的数值型,但导入到数据库后SortFlagForDB值还是四舍五入后的整数值,不知道是什么原因。
3.不知道怎样操作才能够在工作表删除一行记录,数据库也删除那条记录。因为有时工作会复制多了然后删除的情况,这样提单号(提单号不重复,平时是以提单号来判断是哪条记录的)就不可以用做删除时判断的字段了。这种情况要怎么办呢?

还请各位老师给予指教。不胜感激!
前面说的不是很清楚,补充一下!
这个导出呢,是要在录入时将当前行自动导出到数据库,不是全部导出,而且设计的是多人共用数据库,所以不能用按钮的形式,只能在Worksheet_Change触发!
其中两间公司是有整行复制插入的需求的,然后在那行记录上修改,插入和改动时都会自动加入到数据库,其他的公司记录都是在最后一行录入,当提单号列不为空时自动导出到数据库。后面的单元格数据录入时自动导出到数据库。现在已经基本实现!
问题是整行插入时Worksheet_Change会触发两次,这个需要找到原因。
因为需要从数据库导出时设计了一个辅助字段,方便导出后还保持原来的顺序,插入的行还保持原来插入的位置,本来每行的辅助字段数值之间是相差1的,插入的辅助字段数值就比上一个数值多0.01(插入不会超过二十行)。问题是操作过程中辅助字段SortFlagForDB的小数部分会自动四舍五入变成整数。希望能找到原因。
还有在EXCEL里删除整行数据时,数据库的这行记录希望也一同自动删除。因为删除的记录多是重复的,就没办法通过参照提单号等唯一值来删除。这一点有什么办法实现数据库的记录一起自动删除呢?
希望能得到高人的指点!谢谢!

制单系统A.rar (329.76 KB, 下载次数: 4)


TA的精华主题

TA的得分主题

发表于 2018-8-31 17:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 w8899 于 2018-8-31 18:43 编辑

数据库密码:1234   office版本2010    引用:Microsoft ActiveX Data Objects 2.8 Library加载项------菜单

制单系统A.part1.rar

1 MB, 下载次数: 1

制单系统A.part2.rar

1 MB, 下载次数: 1

制单系统A.part3.rar

327.09 KB, 下载次数: 1

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-31 22:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
w8899 发表于 2018-8-31 17:48
数据库密码:1234   office版本2010    引用:Microsoft ActiveX Data Objects 2.8 Library加载项------菜 ...

感谢您的帮助!
是我没说清楚需求!
这个导出呢,是要在录入时自动导出到数据库的,而且设计的是多人共用数据库,所以不能用按钮的形式,只能在Worksheet_Change触发!
其中两间公司是有整行复制插入的需求的,然后在那行记录上修改,插入和改动时都会自动加入到数据库,其他的公司记录都是在最后一行录入,当提单号列不为空时自动导出到数据库。后面的单元格数据录入时每录一个自动导出一个单元格数据到数据库。现在已经基本实现!
问题是整行插入时Worksheet_Change会触发两次,这个需要找到原因。
因为需要从数据库导出时插入的那一行也要在插入的位置,而不是最后,就用了辅助字段,本来每行的辅助字段数值之间是相差1的,插入的辅助字段数值就加了0.01的小数。问题是操作过程中辅助字段SortFlagForDB的小数部分会自动四舍五入变成整数。希望能找到原因。
还有在EXCEL里删除整行数据时,数据库的这行记录希望也一同自动删除。
这次说得又啰嗦了一些,不知道讲明白了需求没有,希望得到帮助,再次谢谢您!

TA的精华主题

TA的得分主题

发表于 2018-9-1 08:56 | 显示全部楼层
本帖最后由 w8899 于 2018-9-1 09:09 编辑
gcloveu 发表于 2018-8-31 22:17
感谢您的帮助!
是我没说清楚需求!
这个导出呢,是要在录入时自动导出到数据库的,而且设计的是多人共 ...

你这个想法很好,但是太逗,超出了VBA的范围,每个人录入后按下按钮都很费劲吧?但是有一个方法可行,就是ACSEE数据库里把EXECL的一个工作表作为外部数据源,要不要给你做一个附件?  附件做好了,你看看 密码:1234
捕获.JPG

测试.rar

74.86 KB, 下载次数: 1

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-1 09:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
w8899 发表于 2018-9-1 08:56
你这个想法很好,但是太逗,超出了VBA的范围,每个人录入后按下按钮都很费劲吧?但是有一个方法可行,就 ...

您的想法是很好,但是关键ACCESS一个表不支持链接多个源吧,这样就无法做到多人以多个EXCEL为前台,一个ACCESS为后台的共享数据库方式了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-1 10:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
w8899 发表于 2018-9-1 08:56
你这个想法很好,但是太逗,超出了VBA的范围,每个人录入后按下按钮都很费劲吧?但是有一个方法可行,就 ...

这个不是按钮的问题,是数据的严谨问题,因为设计中是要从数据库中提取费用单号的,避免每个人从自己的电脑上生成费用单号造成重复,这就要在提取费用单号后即刻把数据返填到数据库中,如果用按钮,一旦不记得或者不是即刻导出数据到数据库就造成数据库的混乱。
现在就是插入一条记录会触发WORKSHEET_CHANGE两次的问题,这个要怎样解决。
再一个就是删除一条记录,这种情况就是复制插入多了才会出现,这样就有多条重复的记录,想到一个解决办法就是在ACCES删除最后一条与EXCEL删除的那一行相同的记录。但是不知道代码怎样写才简单,比较是否相同时要把每个字段都写进去吗?
谢谢老师的指点,期待和你学到更多!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-13 07:30 , Processed in 0.023548 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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