Ms-Access

如何將 Excel 文件中的數據合併到具有多個表的 access 數據庫中?

  • June 28, 2018

我有一個包含許多內部表的訪問數據庫。每個表格都是電子元件的一個類別(電阻器、電容器等) 在所有表格中,都有一個製造商零件號和一個目前為我們內部零件號的空白欄位。

我有一個包含內部零件號和匹配的製造商零件號的 excel 文件。

如何從我的 excel 文件中填寫所有表格的內部元件號欄位,與製造商元件號匹配?

我確信這很簡單,但我不怎麼使用 access,而且我不會說“accesseze”。

要按照描述更新您的表格需要多個步驟,對於這個單個問題無法詳細回答。我將給出一個我希望是有用的大綱,但您需要為每個步驟搜尋更具體的幫助(在這個論壇、Stack Overflow 或網路上)。

我使用的是 Access 2013,但對於回到 Access 2007 的版本,這些步驟應該相同/相似。

  • 導入或連結到 Excel 文件:

    • 在 Access 中,轉到外部數據功能區(即工具欄選項卡)。

    • 選擇導入訪問數據庫圖示。

    • 按照導入嚮導的步驟進行操作。

      • 連結到 Excel 文件會在 Access 中創建一個連結“表”。從表面上看,它的行為類似於另一個 Access 表,但它直接從 Excel 中讀取數據。是連結到文件還是導入數據取決於您的偏好和使用。如果 Excel 文件數據經常更改並且文件位置和格式保持不變,則連結可以避免重新導入新表、處理重複項等。
      • 但是,如果 Excel 文件的格式不簡單(即帶有標題的基本列)或存在其他復雜情況,則將數據導入標準 Access 表可以避免一些麻煩。
  • 編寫多個更新查詢,將表格連接到 Excel 數據並更新零件編號。

    • 因為你不會說“accesseze”,也許你也不知道 SQL。在這種情況下,您可以使用 Access 中的查詢嚮導來完成更新。但是,在這些論壇中使用 SQL 共享查詢要方便得多,因此以下範例 SQL。Access 的方便之處在於它允許在 SQL 視圖和視覺化設計視圖之間切換

    • 下面的範例當然只會更新完全匹配的記錄。編寫數據驗證查詢以查找失去的元件號、格式錯誤的元件號等是謹慎的做法。此類查詢最終將需要表之間的其他類型的連接、查找 Null 值等。

    • 由於您的問題未包含有關數據的更多詳細資訊,因此具有虛構名稱的範例 SQL:

      • WHERE Component_Table.InternalPartNo Is Null子句用於避免無意中覆蓋現有數據。僅當您確定要覆蓋現有數字時才刪除此條件,但請參閱我之前關於數據驗證的提示。

UPDATE Component_Table
INNER JOIN Excel_Data ON Component_Table.ManufacturerID = Excel_Data.ManufacturerID
SET Component_Table.InternalPartNo = Excel_Data.InternalPartNo
WHERE Component_Table.InternalPartNo Is Null

引用自:https://dba.stackexchange.com/questions/210763