2010-07-27 207 views
1

我繼承了一個龐大而笨重的MS Access數據庫,並且已分配解決該問題。問題如下...Microsoft Access TransferText功能:代碼頁問題

系統A將其數據導出到管道分隔的.txt文件。這些文件具有正確工作的特殊字符,例如在記事本或Excel中打開此文件時顯示的值「Müller」。

接下來,Access DB導入.txt文件並將結果存儲在內部的僱員表中。姓氏字段是數據類型「備忘錄」。從txt文件到MS Access導入數據的方法如下:

Call DoCmd.TransferText(acImportDelim, _ 
         "tblEmployees", _ 
         "tblEmployees", _ 
         me.txtImportFile, _ 
         True) 

運行此導入和查看員工表我注意到,有特殊字符的名稱都搞砸了之後。例如,「Müller」變成「M├」。我調查了一些在線幫助,並發現可以包括在TransferText稱之爲「代碼頁」參數,所以我將它設置爲65001(這appearantly是對Unicode代碼頁):

Call DoCmd.TransferText(acImportDelim, _ 
         "tblEmployees", _ 
         "tblEmployees", _ 
         me.txtImportFile, _ 
         True, _ 
         , _ 
         65001) 

現在,我已經跑了再次導入腳本,我沒有看到任何區別,特殊字符仍然是錯誤的。因爲我希望你們中的一些人對如何解決這個問題有一些建議......

回答

2

你的TransferText操作的兩個版本都使用名爲tblEmployees的SpecificationName。該規範中指定了哪些代碼頁?

嘗試手動導入文本文件。從導入文本嚮導中選擇「高級」。然後在代碼頁列表框中選擇Unicode。您可能需要使用不同的代碼頁選擇進行測試,直到找到哪一個正確導入文本。

而且,任何代碼頁的選擇工作,您的選擇保存爲規範並用它在你的TransferText命令,沒有提供單獨的代碼頁參數。

0

使用代碼頁= 1200(msoEncodingUnicodeLittleEndian)解決了我的情況的問題。