如何将Excel电子表格导入到访问表中并交叉引用两个表

时间:2019-05-29 21:55:03

标签: excel ms-access

我有以下两个Access表

Employees
id          Name
1           bob smith
2           james bird
3           jane big


Events
id         emp_id        Notes
1          1             fell down the stairs
2          3             paper cut in the break room

我还有以下Excel文件,我想将它们“吸”(导入)到“事件”表中。问题是数据需要在name / emp_id字段上关联,我不确定做到这一点的最佳方法。

Excel_sheet

Employee Name       Notes
bob smith           feel asleep while driving 

访问表使用对雇员表的引用,而Excel工作表使用名称。对于将Excel工作表导入“事件”表并将其名称(“鲍勃·史密斯”)从“员工”表转换为关联的ID,我有什么选择?

1 个答案:

答案 0 :(得分:0)

假设姓名在两个数据集中都是一致的,并且每个姓名只有一个人,请尝试:

INSERT INTO Events(emp_ID, Notes) SELECT ID, Notes FROM excel_sheet INNER JOIN Employees ON Employees.Name=excel_sheet.[Employee Name];

在查询对象中构建该SQL或在VBA中运行:

CurrentDb.Execute "INSERT INTO Events(emp_ID, Notes) " & _ "SELECT ID, Notes FROM excel_sheet " & _ "INNER JOIN Employees ON Employees.Name=excel_sheet.[Employee Name];"

建议您使用数据库副本进行测试。

名称是保留字,实际上不应使用保留字作为任何名称。

相关问题