我想从MSAccess2003中导出多个表格的内容。 这些表包含unicode日文字符。 我想将它们存储为波形分隔的文本文件。将MSAccess表格导出为带有Tilde分隔符的Unicode
我可以使用File/Export手动执行此操作,并在'高级'对话框中选择代字号作为字段分隔符,并将Unicode作为代码页。
我可以将其存储为Export Specification,但这似乎是表格特定的。
我想用VBA代码导出很多表。
到目前为止,我曾尝试:
子ExportTables()
Dim lTbl As Long
Dim dBase As Database
Dim TableName As String
Set dBase = CurrentDb
For lTbl = 0 To dBase.TableDefs.Count
'If the table name is a temporary or system table then ignore it
If Left(dBase.TableDefs(lTbl).Name, 1) = "~" Or _
Left(dBase.TableDefs(lTbl).Name, 4) = "MSYS" Then
'~ indicates a temporary table
'MSYS indicates a system level table
Else
TableName = dBase.TableDefs(lTbl).Name
DoCmd.TransferText acExportDelim, "UnicodeTilde", TableName, "c:\" + TableName + ".txt", True
End If
Next lTbl
Set dBase = Nothing
末次
当我运行此我得到一个异常:
运行时错误“3011 ': Microsoft Jet数据库引擎找不到对象“Allowance1#txt”。确保该对象存在,并且拼写其名称和路径名称corr ectly。
如果我在这一点上调试,TableName是'Allowance1',如预期。
我想我的UnicodeTilde导出规范是特定于表的,所以我不能将它用于多个表。
解决方案是什么?我是否应该使用除TransferText外的其他内容,或者可能以编程方式创建导出规范?
任何帮助表示赞赏。
感谢马特。从我做这件事以来,这已经过去了很久了,但是当我有一分钟时,我会试试看。 – 2011-05-24 22:41:33