ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4372|回复: 11

如何向ACCESSK 导入很多表

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-2-16 18:34 | 显示全部楼层 |阅读模式
各位DX: 我想把很多格式相同的EXCEL 表,导入到ACCESS中,但是一直提示失败。很是郁闷!有很多表要是一个一个的粘真是太麻烦了,而且很容易漏掉。对了,我还想问一下,是不是导入后之前的数据就没有了。怎么样才能把这些表都放进去呢!! 谢谢各位了,急切等待中!!!拜托了!谢谢!!!

TA的精华主题

TA的得分主题

发表于 2006-2-17 08:23 | 显示全部楼层
1) 直接导入: “文件”菜单-“获取外部数据”-"导入”。

a) 以新建表的方式导入,用默认第一行标题为字段名。

b) 以追加方式把记录导入现有表:现有表中不能有自动编号字段,否则导不成功,如,把供应商.xls导入现有的罗斯福数据库中,可以先删除表中“供应商ID”这个自动编号的字段,在核对xls文件中字段与供应商表中字段要求一致后,就可以导入数据。导入成功后再在表中添加回来自动编号这个字段。

2) 直接用sql语句导入: 建表并设置好字段属性,如空白的“供应商”表,准备把“供应商表格.xls”中“供应商”工作表中记录导入时,新建一个SQL查询语句,然后执行查询就可以追加记录到“供应商”表中:

INSERT INTO 供应商 SELECT * FROM [Excel 5.0;HDR=YES;DATABASE=F: \供应商表格.xls].供应商;

3) 用链接表: 当你只是要导入EXCEL数据到现有的“供应商”表中时,可以先链接供应商表格.xls文件(“文件”菜单-“获取外部数据”-“链接表”),然后直接用sql语句来做:

INSERT INTO 供应商 SELECT 公司名称 AS 公司名称, 联系人姓名 AS 联系人姓名, 联系人职务 AS 联系人职务, 地址 AS 地址, 城市 AS 城市 FROM 供应商表格;

a) 追加查询:链接Excel,设置追加条件,如,从“供应商表格”链接表中只把“供应商”表中没有的记录追加到“供应商”表中:

方法一:INSERT INTO 供应商 SELECT 公司名称 AS 公司名称, 联系人姓名 AS 联系人姓名, 联系人职务 AS 联系人职务, 地址 AS 地址, 城市 AS 城市, 地区 AS 地区, 邮政编码 AS 邮政编码, 国家 AS 国家, 电话 AS 电话, 传真 AS 传真, 主页 AS 主页 FROM 供应商表格 WHERE 公司名称 not in (select 公司名称 from 供应商);

方法二:INSERT INTO 供应商 SELECT 供应商表格.* FROM 供应商表格 LEFT JOIN 供应商 ON 供应商.公司名称=供应商表格.公司名称 WHERE (((供应商.公司名称) is null));

4) 复制粘帖:在EXCEL中复制一条或多条记录,在表中选中整条空白记录后粘帖。前提:字段一一对应。

TA的精华主题

TA的得分主题

发表于 2006-2-17 09:40 | 显示全部楼层
可能是这样吧 如下错误图 如下正确图 电子表格必须是二维数据表格,不能有合并的单元格、标题、脚注等,否则会产生错误,另外要注意字段名不能重复,例如有两个或多个“金额”名称 如上错误图。 还要说明即使电子表格的数据形式是正确的,在导入ACCESS时也要一步步按提示导入。 其他方法:采用VBA代码(实际上是宏代码) 一、 举个例子: DoCmd.TransferSpreadsheet acImport, , "无锡库存", "D:\My Documents\库存明细表.xls", True, "A1:J25" 解释: acimport 参数是导入的意思; 在acimport 后面和无锡库存的前面还有一个参数这里没有给出,不给出参数则默认为acSpreadsheetTypeExcel8或acSpreadsheetTypeExcel9 值就是当前EXCEL97或EXCEL2000版本 无锡库存 参数是指导入到ACCESS中的表名称; D:\My Documents\库存明细表.xls 是指要导入的电子表格的带路径的全名; TRUE 是指 导入时第一行做为字段名来导入; A1:J25 是指 数据所在的单元格的范围; 注意一点 此代码导入时要求电子表格中只能允许一张Sheet表格,也就是Sheet1默认有效表格,其他则被忽略。 此方法的指定单元格的导入是灵活的特点! 二、 Private Sub Command0_Click() DoCmd.SetWarnings False REM 屏蔽ACCESS的信息提示框 DoCmd.RunSQL "SELECT * INTO [无锡] FROM [Excel 5.0;HDR=YES;IMEX=2;DATABASE=D:\My Documents\库存明细表.xls].[无锡$]" DoCmd.SetWarnings True REM 恢复ACCESS的信息提示框 End Sub 解释:SELECT INTO FROM 语句 无锡 是指导入到ACCESS后的表名称 DATABASE = 这后面是带路径的电子表格文件的全名 无锡$ 是指电子表格中的要导入到ACCESS的那张指定的表格即表名为“无锡”,$是必须加的字符。 此方法比较是编程中较方便常用的。
[此贴子已经被作者于2006-2-17 10:32:28编辑过]

如何向ACCESSK 导入很多表

如何向ACCESSK 导入很多表

如何向ACCESSK 导入很多表

如何向ACCESSK 导入很多表

TA的精华主题

TA的得分主题

发表于 2006-2-18 08:52 | 显示全部楼层
小弟,愚笨还是看不太明白,哪位大侠能不能做一个 自动导入多个文本文件的例子给看看呀。

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-18 10:20 | 显示全部楼层
不好意思,可能是我也太笨了吧,还是不行,我把格式改成一样的也是不行的,真不知道问题出哪了?我见别人导过是可以的,同样的东西,可是我就是不行

TA的精华主题

TA的得分主题

发表于 2006-2-18 13:56 | 显示全部楼层

楼主,能不能把你的MDB文件和几个EXCEL文件(三个就可以)发给我?我想写一个模块,一次运行自动倒入多个EXCEL表格,让你一劳永逸?

我是初学者,不敢说马上可以做出这个文件,但有八成把握我应该能做出来。

TA的精华主题

TA的得分主题

发表于 2006-2-20 12:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

我支持你,盼望早点做出来,也为我们解决这个问题。谢谢了。

TA的精华主题

TA的得分主题

发表于 2006-2-20 14:46 | 显示全部楼层
楼主还没回答呢,我正在等他的邮件。

TA的精华主题

TA的得分主题

发表于 2006-2-20 17:00 | 显示全部楼层
见实例: q6rqk3o3.rar (109.05 KB, 下载次数: 41) 这个实例比较简单,没有错误处理语句。因此在测试时要求:第一个文本框中必须填入正确的EXCEL文件的带有路径的全名,如:D:\ D:\My Documents\ACCESSVB\book1.xls 第二个文本框必须填入正确的BOOK1.xls文件中的一个工作表名称。 仅供参考!!!

TA的精华主题

TA的得分主题

发表于 2006-2-28 13:31 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-26 09:26 , Processed in 0.050969 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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