设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

【Access小品】国中之国 -- Excel表局部数据导入示例

2015-5-1 08:57| 发布者: tmtony| 查看: 2093| 评论: 13|原作者: todaynew|来自: office中国论坛

摘要:   世界上有四个国家是国中之国:梵蒂冈、圣马力诺、莱索托王国、摩纳哥,所谓国中之国是指其边界线为一国所包围。这都是一些比较特殊的小国,其形成的历史在此不论。   今天,版友chinasa同志问是否可以导入E ...
  世界上有四个国家是国中之国:梵蒂冈、圣马力诺、莱索托王国、摩纳哥,所谓国中之国是指其边界线为一国所包围。这都是一些比较特殊的小国,其形成的历史在此不论。

  今天,版友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一下。这很简单,相信你懂的。


示例:导入.zip


视图:
无标题.gif


相关阅读

发表评论

最新评论

引用 风中漫步 2015-4-30 16:11
斑竹的思维就是有品位.
看标题让我想到的是城中村.
这图实在加载不上,个头是不挺大?
引用 todaynew 2015-4-30 16:23
风中漫步 发表于 2015-4-30 16:11
斑竹的思维就是有品位.
看标题让我想到的是城中村.
这图实在加载不上,个头是不挺大?

你的网速太慢了,找电信投诉。
引用 roych 2015-4-30 16:27
印象中TransferSpreadSheet也是可以导入区域的。
不过个人还是不建议这样处理,毕竟标题、合并单元格等等把一个好好的标准表改得乱七八糟,始终不是一件好事。
引用 tmtony 2015-4-30 16:36
看老汉的贴,就是看小说。反而把正题给忘记了:)
引用 xzj5324269 2015-5-1 15:38
我来学习学习,到处看看
引用 goway 2015-5-2 21:34
谢谢,下载收藏,免需要时到处找。
引用 zhidao 2015-5-4 20:24
收了,不错的想法
引用 nncchh 2015-7-20 14:32
学习学习,谢谢分享!
引用 nncchh 2015-7-20 14:32
学习学习,谢谢分享!
引用 c68678 2015-10-18 19:18
嗯看,学习了
引用 WFH6898 2015-11-12 12:45
学习了
引用 utalents 2018-6-6 23:52
学习了 ,谢谢
引用 wuwu200222 2020-4-28 11:23
学习

查看全部评论(13)

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-29 23:44 , Processed in 0.110518 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部