ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 从EXCEL导出到ACCESS有的情况前几行数据会丢失,这是什么原因呢?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-6-26 16:16 | 显示全部楼层
把’用其他的字符代替,“'”这种也不好使

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-26 17:01 | 显示全部楼层
ivccav 发表于 2018-6-26 15:39
数据库一直都严格数据类型,你这个问题跟数据库没有关系,是ADO自己判断之后把数据传给数据库的。

...

我把所有数据都加了撇了,可还是一样,只有一列数据。不是这个原因吧

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-26 17:03 | 显示全部楼层
wolfmare 发表于 2018-6-26 16:16
把’用其他的字符代替,“'”这种也不好使

是啊,用'也不行,用其他字符?那数据就不对了啊

TA的精华主题

TA的得分主题

发表于 2018-6-27 08:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
gcloveu 发表于 2018-6-26 17:03
是啊,用'也不行,用其他字符?那数据就不对了啊

你应该不会直接使用数据库吧?如果是导入导出都是基于excel,那你导入数据库前将’换成其他符号,导出数据库的时候再换回来就可以了,完全看不出来的。
如果你的数据全是文本类型,那你导入前直接去掉’,导出的时候再加上就可以了。
附上我自己使用的代码
  1. '数据修改
  2. Function RecChg(RecStr As String, Optional RecIn As Boolean = True, Optional Rpl As Boolean = True)
  3.     Dim RslStr As String
  4.    
  5.     If RecIn Then
  6.         '输入记录
  7.         If RecStr <> "" Then
  8.             RslStr = RecStr
  9.         Else
  10.             RslStr = "Null"
  11.         End If
  12.     Else
  13.         '输出记录
  14.         If RecStr <> "Null" Then
  15.             RslStr = RecStr
  16.         Else
  17.             RslStr = ""
  18.         End If
  19.     End If
  20.    
  21.     If Rpl Then RslStr = StrRpl(RslStr) '更换部分不支持的符号
  22.    
  23.     RecChg = RslStr
  24. End Function
  25. '符号取代
  26. Function StrRpl(OrgStr As String, Optional RvsRpl As Boolean = False)
  27.     Dim RslStr As String
  28.    
  29.     If RvsRpl Then
  30.         RslStr = Replace(OrgStr, "`", "'")
  31.     Else
  32.         RslStr = Replace(OrgStr, "'", "`")
  33.     End If
  34.    
  35.     StrRpl = RslStr
  36.    
  37. End Function
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-27 08:34 | 显示全部楼层
wolfmare 发表于 2018-6-27 08:02
你应该不会直接使用数据库吧?如果是导入导出都是基于excel,那你导入数据库前将’换成其他符号,导出数 ...

谢谢你,我仔细看一下先!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-27 09:12 | 显示全部楼层
wolfmare 发表于 2018-6-27 08:02
你应该不会直接使用数据库吧?如果是导入导出都是基于excel,那你导入数据库前将’换成其他符号,导出数 ...

你的代码就是把空白单元格填上“Null”是吧,没用的,还是一样,只能导出第一列,郁闷,找不到办法了

TA的精华主题

TA的得分主题

发表于 2018-6-27 09:22 | 显示全部楼层
gcloveu 发表于 2018-6-27 09:12
你的代码就是把空白单元格填上“Null”是吧,没用的,还是一样,只能导出第一列,郁闷,找不到办法了

我在第10楼说过了,用ADO的Recordset对象把数据循环写入数据库,这样肯定不会有遗漏。

用这种方法导入数据库,工作表的形式都没有限制,你能把不规则的单据(比如送货单)数据写入数据库。

用ADO而不用Recordset对象,一大半的功能都浪费了。Recordset功能非常完善,你自己看帮助吧。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-27 10:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ivccav 发表于 2018-6-27 09:22
我在第10楼说过了,用ADO的Recordset对象把数据循环写入数据库,这样肯定不会有遗漏。

用这种方法导入 ...

好的,谢谢了,我用RECORDSET试试,麻烦您了!

TA的精华主题

TA的得分主题

发表于 2018-6-27 11:53 | 显示全部楼层
终于上传附件了,
可惜没有Access部分!

这样别人无法帮助你的!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-27 12:23 | 显示全部楼层
opiona 发表于 2018-6-27 11:53
终于上传附件了,
可惜没有Access部分!

ACCESS部分是自动生成的,谢谢你,希望能得到您的帮助!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-28 12:31 , Processed in 0.040936 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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