首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Excel中的Chr(10)替换为Chr(13) + Chr(10)以导入Access

将Excel中的Chr(10)替换为Chr(13) + Chr(10)以导入Access
EN

Stack Overflow用户
提问于 2019-05-16 03:09:26
回答 2查看 1.8K关注 0票数 0

问题是,在Excel中换行符使用Char(10),而在Access中使用Char(13) & Char(10)。因此,当您从Excel导入到Access时,Excel中的换行符在Access中都在同一行上。

我有一个按钮点击自动导入,以便一些数据可以在输入之前进行消毒。我想将此添加到敏感化中,但我遇到了问题:

代码语言:javascript
复制
' Remove blank cells that aren't blank (i.e., pasting values of formulas with no value)
xl.ActiveSheet.UsedRange.Select
xl.Selection.Value = xl.Selection.Value

' Replace line breaks and carriage returns with something Access recognizes
xl.Selection.Value = Replace(xl.Selection.Value, Chr(10), Chr(13) + Chr(10))

' OR this....

xl.ActiveSheet.Selection.Replace _
  What:=Chr(10), Replacement:=Chr(13) + Chr(10), _
  SearchOrder:=xlByColumns, MatchCase:=False

第一种方法生成:

代码语言:javascript
复制
Run-time error '13': Type mismatch

第二种方法生成:

代码语言:javascript
复制
Run-time error '438': Object doesn't support this property or method

在这里我哪里错了,什么是更好的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-16 03:14:38

不要紧,在发帖几分钟后就明白了:

代码语言:javascript
复制
xl.Selection.Replace What:="" & Chr(10) & "", Replacement:="" & Chr(13) & Chr(10) & "", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
票数 1
EN

Stack Overflow用户

发布于 2019-05-16 03:17:23

要保留Excel数据,您也可以在导入MS Access后运行以下查询:

代码语言:javascript
复制
update 
    YourTable t 
set 
    t.YourField = Replace(t.YourField, Chr(10), Chr(13) & Chr(10))
where 
    t.YourField like "*" & Chr(10) & "*" and
    t.YourField not like "*" & Chr(13) & Chr(10) & "*"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56156155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档