我在MS Access中有一个定期更新的表。 发生这些更新后,导出完成,因此我可以获得更新整个表的Excel工作表。
但现在我需要做反过来。有些人会打开这个文档并手动添加行,我需要找到一些方法将这些新行附加到Access表中,并带有一个标识符,说明它是否是手动输入的。
我的表格包含一个“学生”数据库。每一行对应一个“名称”,所以当有人在工作表中手动添加新名称时,会有一个新的学生,所以我需要它的行去一个新表中的数据库。我还需要那些手动输入的学生,如果他们以某种方式改变,就会更新。
我怎么能在Access中这样做?下面是一些例子:
访问表 - 表1
Name | Country | Grades | IDNumber | Identifier
----------------------------------------------------------------------------
Scott | USA | 8, 9, 10 | 1000 | Automatic
Wolverine | Indonesia | 2, 5, 7 | 2000 | Automatic
Nightcrawler | Brazil | 10, 0, 6 | 3000 | Automatic
Jean Grey | China | 10, 10, 10 | 4000 | Automatic
Bobby | China | 8, 7, 10 | 5000 | Automatic
Kitty | USA | 9, 9, 9 | 6000 | Automatic
从Access表导出的Excel工作表:
Name | Country | Grades | IDNumber | Identifier
----------------------------------------------------------------------------
Scott | USA | 8, 9, 10 | 1000 | Automatic
Wolverine | Indonesia | 2, 5, 7 | 2000 | Automatic
Nightcrawler | Brazil | 10, 0, 6 | 3000 | Automatic
Jean Grey | China | 10, 10, 10 | 4000 | Automatic
Bobby | China | 8, 7, 10 | 5000 | Automatic
Kitty | USA | 9, 9, 9 | 6000 | Automatic
包含需要导入Access表格的adicional数据的Excel工作表:
Name | Country | Grades | IDNumber | Identifier
----------------------------------------------------------------------------
Scott | USA | 8, 9, 10 | 1000 | Automatic
Wolverine | Indonesia | 2, 5, 7 | 2000 | Automatic
Nightcrawler | Brazil | 10, 0, 6 | 3000 | Automatic
Jean Grey | China | 10, 10, 10 | 4000 | Automatic
Bobby | China | 8, 7, 10 | 5000 | Automatic
Kitty | USA | 9, 9, 9 | 6000 | Automatic
Tempest | Spain | 10, 9, 2 | 7000 | Manual <-- Who added will add the word "Manual" to it!
Magneto | USA | 8, 0, 9 | 8000 | Manual
Lizard | India | 1, 3, 6 | 9000 | Manual
附加工作表中包含新值的表格 - 表2:
Name | Country | Grades | IDNumber | Identifier
--------------------------------------------------------------------------
Tempest | Spain | 10, 9, 2 | 7000 | Manual
Magneto | USA | 8, 0, 9 | 8000 | Manual
Lizard | India | 1, 3, 6 | 9000 | Manual
谢谢!
答案 0 :(得分:1)
您可以在Access中创建指向Excel电子表格的链接表。
然后,您可以在Access中创建一个查询,该查询提取Excel数据中未显示在相应Access表中的行
访问表:
Excel表格:
访问中的链接表:
查询设计:
查询结果:
答案 1 :(得分:0)
您可以使用链接表(将Excel作为链接表导入,而不是数据)。这将导致它将excel文档中所做的更改直接反映到您的Access环境中。
然后你可以随时运行一个简单的sql语句:
Insert Into [Students]([Name],[Country],[Grades],[IDNumber])
Select [Name],[Country],[Grades],[IDNumber] from [LinkedTable]
Where [IDNumber] Not In (Select [IDNumber] from [Students])
假设IDNumber是主键。