我想從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