2013-10-16 119 views
2

我有一個Access數據庫。以下是幾個表格的設置。將Excel電子表格導入現有的MS Access表格

ID - companyID(自動編號)PK,公司(文本),名字(文本),姓氏(文本)

類別 - companyID(數量)聯合PK與類別,類別(文本)

推銷員 - companyID(number)將PK與代碼,代碼(文本)結合起來

id和category之間以及id和salesmen之間有一對多的關係。

如果我有一個公司,名字,姓氏,類別1,類別2,類別3,salesman1,salesman2列的電子表格,我怎麼能將列導入到適當的表?

我的第一個想法是導入電子表格,然後將company,firstName和lastName附加到id表中。然後,我會將導入的電子表格與ID表一起加入,以創建一個包含所有電子表格列和自動生成的公司ID的新表。然後我可以將companyID和category1附加到類別表中。然後對category2和3執行相同的操作,依此類推。

如果我有很多導入的電子表格,這看起來很複雜。此外,導入電子表格的人不是程序員,所以她希望儘可能方便用戶使用。

有沒有更好的方法來導入這些電子表格?

謝謝!

回答

2

我會做的是創建另一個表,將原始數據導入,然後INSERT將數據從那裏導入到相關表中。

DoCmd.RunSQL ("DELETE * FROM ImportDataTable;") 
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "ImportDataTable", "C:\exceldata.xls" 

在Access VBA第二行將數據導入稱爲ImportDataTable的表(ImportDataTable列名應該是F1,F2,F3等 然後使用對每個表的追加查詢(INSERT INTO),該一些ImportDataTable數據需要進入,所有這些代碼都可以放在窗體上的按鈕後面,這樣用戶只需要在新數據可用時按下按鈕。

+0

我該如何確定我向id表中添加一行時所獲得的companyID自動編號與我插入類別表中的companyID匹配?我仍然不確定如何將companyID添加到類別和銷售人員表中。我可以提示允許用戶選擇要導入的Excel文件嗎? – Tmcc

相關問題