2012-04-28 77 views
1

當我嘗試將數據追加到現有表時,我目前遇到困難。ACCESS:將CSV數據附加到表格時發生截斷錯誤?

我有大約100個CSV文件,我想創建一個表;所有的表都有不同的列結構,但這不是真正的問題,因爲關聯的字段名稱位於每個文件的第一行。

首先,我從其中一個文件創建一個新表,指出我的字段名稱位於第一行。我將超過256個字符的特定字段更改爲備註字段並導入數據。

然後我添加到表中缺少的字段。

現在,當我嘗試附加更多數據時,我再次選擇我的字段名稱位於第一行,但現在我收到了發往備註字段的數據的截斷錯誤。

爲什麼會發生此錯誤?有沒有解決方法?

編輯

下面是關於我所試圖解決該問題的更新:

  1. 導入和附加表將無法工作,除非他們有相同的結構。此外,您不能創建一個包含所有字段和屬性的主表,然後將所有表追加到主表中。您仍然收到截斷錯誤。

  2. 我採取了CodeSlave的建議,並試圖上傳表格,設置我需要的字段是備註字段,然後附加表格。這有效,但同樣,每個數據文件中的備註字段不一定是相同的順序,並且我有1200個數據文件可以導入到24個表中。通過表導入數據表並不是許多表的選項。

+0

你能告訴我們一點,請,你有完整的錯誤代碼;以及您使用的訪問版本? – 2012-04-30 10:24:18

回答

4

我希望你遇到的是源文件(CSV)和目的表(MS Access)之間的不匹配。

當您進行導入時,MS Access會對您CSV文件中的字段類型進行一些猜測。但是,這並不完美。也許它將字符串視爲備忘錄或浮動爲真實。沒有看到數據,我不可能知道。

我通常會做的是:

  1. 導入第二CSV到它自己的(臨時)表
  2. 清理第二個表
  3. 然後使用一個SQL查詢來追加從這些記錄第二個表到第一個表。
  4. 刪除第二個表

(重複每個CSV文件加載)。

如果我事先知道每個CSV文件在結構上都已經是相同的,我傾向於將它們連接在一起成爲一個整體,只需要進行一次導入/清理。

+0

結構不完全相同。這就是爲什麼我不能使用導入步驟或爲其創建導入規範。我有一個包含所有可用字段名稱的主表,但數據文件沒有按照相同順序排列。唯一的優點是字段名稱包含在數據文件的第一行,並且它們按字母順序排列。因此,如果我有一個包含5個字段的主表,數據文件#1可以是「Field1」,「Field3」,「Field5」,數據文件#2可以包含「Field2」,「Field4」。我已經使用了導入表格並清理它的方法,但這很耗時。我會更新問題。 – toolshed 2012-05-05 14:44:52

1

有一個非常類似的問題 - 嘗試將大文本字段(> 255個字符)的CSV文件導入到現有表中。宣佈這些字段爲備忘錄,但仍被截斷。

解決方案:開始導入以鏈接表格,然後單擊「高級」按鈕。創建一個鏈接規範,將相關字段定義爲備註字段,然後保存鏈接規範。然後取消導入。再次導入一個你想要的附加到現有表的另一個導入。再次點擊高級按鈕並選擇您剛創建的鏈接規範。點擊完成,數據應正確導入而不會截斷。

0

我有這個問題,但注意到它總是發生在第一行。所以通過在csv中插入一個空白行可以完美導入,那麼您需要刪除Access表中的空白行。

乾杯, GRAE獵人

注:我使用Office 2010的