设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3294|回复: 13
打印 上一主题 下一主题

[Access本身] 如何用access从excel指定行开始导入?

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-27 18:51:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有很多个格式相同的excel表(样表见附件),想导入到access一张表中,由于excel表前两行是标题,如何实现只导入每张表中第三行以后的数据?
本想把excel表头逐个删掉再导入,但数量实在太多(有几百个,而且每周都要导入),希望高人指导,能否用程序实现?拜谢了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-12-27 20:33:47 | 只看该作者
可以直接使用excel表,不用导入
  1. SELECT *
  2. FROM [Excel 8.0;HDR=Yes;IMEX=1;Database=D:\样表.XLS].[Sheet1$A2:C5];
复制代码
3#
发表于 2011-12-27 20:48:48 | 只看该作者
也可以导入,也就是追加
假设目标表为A
  1. INSERT INTO A
  2. SELECT *
  3. FROM [Excel 8.0;HDR=Yes;IMEX=1;Database=D:\样表.XLS].[Sheet1$A2:C5];
复制代码
4#
 楼主| 发表于 2011-12-27 22:23:13 | 只看该作者
感谢!
放到access中运行提示语法错误(代码全是红字),能否写得完整些,谢谢了!
5#
 楼主| 发表于 2011-12-27 22:28:05 | 只看该作者
我是用窗体按钮的单击事件:
Private Sub Command0_Click()

INSERT INTO A
SELECT *
FROM [Excel 8.0;HDR=Yes;IMEX=1;Database=C:\Users\ken\Desktop\批量导入\样表.XLS].[Sheet1$A2:C5];

End Sub
6#
 楼主| 发表于 2011-12-27 22:33:34 | 只看该作者
发现你提供的代码用于建立查询可以,但不知如何能写到vba代码里;
另外每个excel表不止3行数据(用$A2:C5只能导入3行),每个表的数据条数也不同,如何能完整导入?
7#
 楼主| 发表于 2011-12-27 22:47:25 | 只看该作者
代码没有问题,是我弄错了,抱歉!
但第二个问题还是没有解决,即如何完整导入?

点击这里给我发消息

8#
发表于 2011-12-28 08:42:29 | 只看该作者
  1. INSERT INTO A
  2. SELECT *
  3. FROM [Excel 8.0;HDR=Yes;IMEX=1;Database=C:\Users\ken\Desktop\批量导入\样表.XLS].[Sheet1$A2:C5];
复制代码
这是SQL语句。

在VBA中SQL语句只是字符串,你要这这样执行SQL语句
  1. Private Sub Command0_Click()
  2. Dim sql AS String
  3. sql = _
  4. "INSERT INTO A " & _
  5. "SELECT * " & _
  6. "FROM [Excel 8.0;HDR=Yes;IMEX=1;Database=C:\Users\ken\Desktop\批量导入\样表.XLS].[Sheet1$A2:C5];"

  7. Docmd.RunSQL sql

  8. End Sub
复制代码
9#
发表于 2011-12-28 09:17:12 | 只看该作者
kenccc 发表于 2011-12-27 22:47
代码没有问题,是我弄错了,抱歉!
但第二个问题还是没有解决,即如何完整导入?

INSERT INTO A

SELECT *

FROM [Excel 8.0;HDR=Yes;IMEX=1;Database=D:\样表.XLS].[Sheet1$A2:C5];

看到语句中红色部分了吗,这就是让你设置导入的范围
a2:c5是导入区域的对角线
10#
 楼主| 发表于 2011-12-28 10:14:42 | 只看该作者
发现写成[Sheet1$A2:C],即不写对角线的行标,就可以导入全部内容了 ,谢谢版主!
以上方法实现了一张excel表的导入,如何用access的vba实现多张表的一次导入呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-12 09:18 , Processed in 0.158164 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表