2008-09-23 127 views
5

將Excel文件導入Access時,有什麼方法可以更改默認數據類型嗎? (順便說一下,我使用的是Access 2003)。將Excel文件導入Access時更改數據類型

我知道我有時可以自由地將任何數據類型分配給正在導入的每一列,但只有當我導入非Excel文件時纔可以。

編輯:要清楚,我明白在導入過程中有一個步驟允許您更改導入列的數據類型。

事實上,這就是我所問的。出於某種原因 - 也許它總是Excel文件,也許還有別的東西 - 我有時不允許更改數據類型:下拉框是灰色的,我只需要忍受任何Access類型的數據類型。

例如,我只是想在那裏訪問列#105(或類似的東西)充滿了大多都是數字(代碼導入大十歲上下的Excel文件(12000+行〜200列):1=foo, 2=bar等),儘管這裏也有一些alpha代碼(A = boo,B = far等)。 Access假設它是一個Number數據類型(即使我改變了Excel文件本身的Format值),所以給了我這些字母代碼的錯誤。如果我被允許在導入時更改數據類型,它會爲我節省一些麻煩。

我要求的東西,Access只是不會做,或者我錯過了什麼?謝謝。

編輯:下面有兩個答案給出有用的建議。將Excel文件保存爲CSV文件,然後導入該文件,效果很好,如Chris OC所述那樣直接。保存導入規範的建議也非常有用。但是,我選擇了DK作爲「已接受的答案」的註冊表設置答案。我喜歡它作爲答案,因爲這是一個一次性步驟,可用於解決我的主要問題(Access有錯誤地分配數據類型)。簡而言之,這種解決方案不允許我自己更改數據類型,但它使Access準確地猜測數據類型,從而減少了問題。

回答

2

This may由Excel Jet驅動程序默認設置引起。檢出以下注冊表項並將其值從默認值8更改爲0,意思是「根據所有值猜測列數據類型,而不僅僅是前8行」。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel] 
"TypeGuessRows"=dword:00000000 

請告訴它是否有效。

+0

嗯,它確實在那裏工作訪問現在更智能地猜測數據類型。但是,我仍然沒有權力在導入過程中將數據類型更改爲我喜歡的任何內容。 我知道我可能沒有別的選擇。如果是這樣的話,我會接受這個答案。 – user3930756 2008-09-23 17:52:23

-1

訪問將執行此操作。

在導入過程中,您可以定義每列的數據類型。

3

有幾種方法可以做到這一點。最簡單的方法是將.xls文件轉換爲Excel中的.csv文件,以便您可以使用導入文本嚮導導入到Access中,從而允許您在導入期間選擇每個列的數據類型。

這樣做的另一個好處是導入csv(或文本)文件是,所以比導入xls文件快得多。如果您要多次執行此導入操作,請將導入設置設置保存爲導入規格。 (在導入文本嚮導中,單擊「高級...「按鈕,然後點擊」另存爲「並給出規範名稱以保存您剛纔所做的更改。)

0

訪問可以做你所需要的,但是沒有直接的方法, d必須管理一些記錄集,一個是您的Excel數據,另一個是您的最終Access表。一旦兩個記錄集都打開,您可以通過瀏覽Excel數據並將其添加到Access表中將數據從一個記錄集傳輸到另一個記錄集在這個階段,將有可能改變數據類型的要求。

0

從CSV文件導入時,你也可以看看schema.ini你會發現,這個你可以控制導入過程的每一個環節。

相關問題