Access 2010 - 从excel导入的数据 - 将两列组合成一个子表单列

时间:2012-08-23 21:04:01

标签: forms ms-access subform subforms

我对Access完全不熟悉,所以我不确定我是否会以正确的方式解决这个问题,但是我被卡住了。

我有一个包含约5000条记录的excel文件。该文件中的数据包括用于跟踪就业历史的列。目前有两组专栏,“职称1”和“雇主1”和“职称2”和“雇主2”

我想使用Access让用户添加额外的就业记录。理想情况下,我希望能够根据需要添加Job 3,Job 4等。

我在Access中创建了一个表单,在我看来,子表单是插入就业历史的最佳方式。所以,我创建了一个导入Job数据的子表单,但是我在格式化时遇到了麻烦。

现在,我可以将Job Title 1和Job Title 2放在同一行的不同列中,但我想将它们合并到一个'Job Title'字段中,并创建多行。

如果我在正确的轨道上,我可以使用一些帮助来完成子窗体格式化,或者如果有一种完全不同的方式来做到这一点,我也会对此持开放态度。

这是一个简化的示例记录:

姓名:John Smith

职位名称1:记者

雇主1:多伦多明星

职位名称2:专栏作家

雇主2:多伦多太阳报

我想要的是一个看起来像这样的表,可以选择添加其他行:

姓名:John Smith

职位/雇主

记者/多伦多明星

专栏作家/多伦多太阳报

在此先感谢您的帮助,我希望我的解释清楚,但请告诉我

1 个答案:

答案 0 :(得分:0)

请勿尝试在MS Access中重现Excel表单。您想要一个包含以下内容的表:

PersonID
JobTitle
JobDetails
JobDate

用户将继续向子表单中的表添加记录,日期将告诉您它是作业1还是作业n。当您输出到Excel时,交叉表查询会将记录排成一行,如果这是您需要的。如果你还没有读过类似的内容,你可能想阅读http://r937.com/relational.html

要将现有数据更改为此格式,可以使用联合查询:

 INSERT INTO NewTable (PersonID, JobTitle, Employer)
 SELECT PersonID, JobTitle, Employer FROM
 (SELECT PersonID1 As PersonID, JobTitle1 As JobTitle, Employer1 As Employer
 FROM Table
 UNION ALL
 SELECT PersonID2 As PersonID, JobTitle2 As JobTitle, Employer2 As Employer
 FROM Table)