我今天基本上要做的是,如果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错误。在vba运行时,是否有一种方法可以强制Access将带有UTF-8字符的字符串放入有效路径?通过添加参考也许?
答案 0 :(得分:3)
这与UTF-8无关。
在Windows中,诸如/
或:
之类的字符在文件名中是非法的,因此您不能在文件中使用这些名称。您必须替换这些字符。
尝试命名文件some/file.txt
,资源管理器会告诉您不允许的内容。