通过UTF-8编码访问读取

问题描述 投票:0回答:1

基本上我今天要做的是,在Access数据库文件损坏的情况下,我有一个VB函数,使用以下Transfer / SaveAs命令将所有表单元素导出到文本文件中:

accApp.DoCmd.TransferText acExportDelim, , td.Name, destFile, True, , 65001

accApp.SaveAsText acForm, d.Name, sExportLocation & "Form_" & d.Name & ".txt"

此函数设置为动态运行,以便基于给定的源数据库文件路径执行任务。在大多数情况下,Access对象成功导出为文本文件,但对于使用特殊字符命名的Access对象(例如“客户端信息/状态”,“客户端报告:基于区域”),代码将忽略这些对象。删除错误处理行将返回臭名昭着的3011错误。有没有办法强制Access在vba运行时将带有UTF-8字符的字符串放入有效路径?通过添加参考或许?

ms-access access-vba
1个回答
3
投票

这与UTF-8无关。

/:这样的字符在Windows中的文件名中是非法的,因此您不能将这些名称用于您的文件。你必须更换这些字符。

尝试命名文件some/file.txt和资源管理器将告诉你什么是不允许的。

© www.soinside.com 2019 - 2024. All rights reserved.