基本上我今天要做的是,在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字符的字符串放入有效路径?通过添加参考或许?
这与UTF-8无关。
像/
或:
这样的字符在Windows中的文件名中是非法的,因此您不能将这些名称用于您的文件。你必须更换这些字符。
尝试命名文件some/file.txt
和资源管理器将告诉你什么是不允许的。