世界上有四个国家是国中之国:梵蒂冈、圣马力诺、莱索托王国、摩纳哥,所谓国中之国是指其边界线为一国所包围。这都是一些比较特殊的小国,其形成的历史在此不论。 今天,版友chinasa同志问是否可以导入Excel表中的一个局部的数据块。我觉得这就如同将Excel表中的局部数据,看成是国中之国一样。如果整体上Excel表能看成一国,并能处理的话,其国中之国当然也能处理。就此问题的处理技巧有很多种,我觉得可以借用红尘如烟同志所倡导的“一句查询代码实现Excel数据导入导出”的方法,这一方法简洁明快。只是在对待本问题时,需要经过一些变形的处理。 红尘如烟同志的方法的核心是一个Select语句,这个语句大体写为如下: Select * FROM [Excel 8.0;DATABASE=E:\桌面\测试数据.xls].[Sheet1$] 暂且不论红尘如烟同志对FROM子句的变形写法,重点关注的是[Sheet1$]。也就是说红尘如烟同志将[Sheet1$]看成一国,也就是一个数据集。那么由此推论,[Sheet1$].[A3:C20]做为国中之国,也就是一个数据子集,也是可行的。这样就可以解决在一个Sheet表中,分块来导入不同数据的问题了。也就是在一个Sheet中你尽可以放入多个表,然后用Access分别读取它们。甚至你如果需要,还可以读取一个表的部分数据。 不过,通常我们是按表(指Sheet中的某个完整的表)来全部读取数据的,那么我们还可以更简单一些。我们可以这样来做,先在Excel中选择一个表(包括字段名和记录,如果记录不能完全确定条数,可以选择的空白记录条数多一些),然后在表的左上角的名称框中为这个选中的区域命名,比如我们命名这个区域为“Data1”。需要注意的是,Excel的Name对象(实际是一个由名称命名的数据区域),并不从属于Sheet对象。因此,调用这个对象时,只需要指明其名称即可。由此,我们的Select语句就可以这样来写了: Select * FROM [Excel 8.0;DATABASE=E:\桌面\测试数据.xls].[Data1] 这样我们就可以轻松愉快的读到国中之国的数据了。至于你想进一步将这些数据导入到Access中的某个对应数据表中,只需要INSERT INTO一下。这很简单,相信你懂的。 示例: ![]() 视图: ![]() |
风中漫步 发表于 2015-4-30 16:11
斑竹的思维就是有品位.
看标题让我想到的是城中村.
这图实在加载不上,个头是不挺大?
|站长邮箱|小黑屋|手机版|Office中国/Access中国
( 粤ICP备10043721号-1 )
GMT+8, 2025-2-20 04:39 , Processed in 0.174387 second(s), 25 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.