设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2366|回复: 8
打印 上一主题 下一主题

[其它] 如何VBA编写导入语句

[复制链接]
跳转到指定楼层
1#
发表于 2007-3-16 17:43:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一ITEM表,只有两个字段itemno和Desc,也有一个EXCEL表,只有相同的两列,需要用VBA编写语句将EXCEL表内的相同两列资料导入ACCESS中ITEM表,使用VBA编写的目的是不想改变ACCESS的ITEM表结构,有那位高手可以指点一下?谢谢!

在线等。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-3-16 17:59:00 | 只看该作者
docmd.transferspreadsheet acimport

用这个代码...后面选项补全即可
3#
 楼主| 发表于 2007-3-16 22:42:00 | 只看该作者
对于此命令不是很明白怎么使用,有没有例子可看看?不好意思,本人是菜。。。。鸟
4#
 楼主| 发表于 2007-3-17 00:58:00 | 只看该作者
1 Private Sub cmdGo_Click()
2 If MsgBox("是否重新导入?", vbYesNo, "导入") = vbYes Then
3 DoCmd.SetWarnings False
4 DoCmd.RunSQL "DELETE * FROM Item;"
5 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Item", _         Me.foldername.Value,False, "A1:B65536"
6 DoCmd.SetWarnings True
7 End If
8 End Sub

执行以上命令时为什么会在5行中止,并提示:运行时错误‘2391’:在目标表“ITEM"中字段‘F1’不存在。我的ITEM表只有两个字段ITEMNO,DESC啊,那里来的‘F1’,真的不明白为什么?
5#
发表于 2007-3-17 01:05:00 | 只看该作者
5 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Item", _         Me.foldername.Value,False, "A1:B65536"
这个红色的改为true试试。
6#
 楼主| 发表于 2007-3-17 16:33:00 | 只看该作者
如果将False改为True,势必要修改Item表的字段名称,我的ITEM表,字段用英文,标题用中文的方式建表,如果用True的话,EXCEL表的第一行一定要是标题,这样会覆盖ITEM表的设定的,所以使用False,这样都不行吗?我觉得原因应该不是这个才对啊
7#
 楼主| 发表于 2007-3-17 16:56:00 | 只看该作者
真的改成TRUE就可以导入了,但是还有一个问题,就是执行了这个语句将数据导入ACCESS完成后,没有提示信息告诉我已经完成导入,请问这个语句又应该怎样编写呢?
8#
发表于 2007-3-17 17:11:00 | 只看该作者
True 跟 False 的区别是要不要将导入表的第一行作为字段名而已,,至于导入完成提示,则可以导入语句的后面加一Msgbox"导入完成" 即可
9#
发表于 2007-3-17 18:53:00 | 只看该作者
先用宏做好,实现你的效果!再将宏转换为vba代码!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 00:56 , Processed in 0.102154 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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