设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[与其它组件] Excel导入Access后excel程序被占用

[复制链接]
跳转到指定楼层
1#
发表于 2006-11-6 19:54:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用VBA代码把Excel导入Access后excel程序被占用,并弹出是否编辑只读文件对话框,用什么代码可以关闭曾被作为数据源的excel文件到正常,并不再弹出对话框?以下是我编著写的代码:

Dim zlzl As String
Dim acc As New Excel.Application
acc.Workbooks.Open "" & Me.textexcel.Value & "", 3, False, , , , False
zlzl = "insert into " & Me.cbozl.Value & " select * from [Excel 5.0;HDR=Yes;Database=" & Me.textexcel.Value & "].[Sheet1$]"
CurrentProject.Connection.Execute (zlzl)

    acc.Workbooks.Close   

   Set acc = Nothing
    acc.Application.Quit

引用程序:Excel9.0,,ADO2.1  Win com con6.0(sp6)  跪谢了!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-11-6 20:57:00 | 只看该作者
直接用下面的方法不行吗?最好上传你的二个文件。

sql = "insert into tableName select * from [excel 5.0;hdr=yes;database=name.xls].[sheet1$];"
currentdb.execute sql


[此贴子已经被作者于2006-11-6 12:58:03编辑过]

3#
 楼主| 发表于 2006-11-6 21:36:00 | 只看该作者

Excel导入Access后excel程序被占用

不行啊,Me.cbozl.Value 就是可供用户选择的表名,Me.textexcel.Value 就是供用户选择的外部数据源-Excel表,我觉得在导入Access表之前必须要有个打开Excel表的动作,但导入完成后,用acc.workbooks.close关闭、甚至用acc.application.quit退出Excel程式都不行,同样在导入后再次双击打开Excel文件时,不能正常打开,有时显示提示是否编辑只读文件?这到底怎样才能不影响Excel文件???我的文件太大......
4#
发表于 2006-11-6 21:51:00 | 只看该作者
就是用了变量Me.cbozl.Value ,Me.textexcel.Value ,在我这里试过没有任何问题。
5#
 楼主| 发表于 2006-11-6 22:44:00 | 只看该作者

Excel导入Access后excel程序被占用

那就奇怪了,不过我有时导完第一次,没问题,接着再导另一次,就出现问题了,你试试连导两次或多次,看还会否有些问题好吗?[em18]
6#
发表于 2006-11-6 22:47:00 | 只看该作者
没问题,导了十几次了。
7#
 楼主| 发表于 2006-11-6 22:53:00 | 只看该作者
那好奇怪了,是否你引用了别的控件?能否附上你的代码,比较一下我的代码,看是什么原因,好吗?非常感谢谢你.我用过TransferSpreadsheet方法,也是同样问题.
8#
发表于 2006-11-6 22:58:00 | 只看该作者
全部代码,没有任何引用。

public sub sheetTotable()
dim sql as string
sql = "insert into " & strtableName & " select * from [excel 5.0;hdr=yes;database=" & strexcelname.xls & "].[sheet1$];"
currentdb.execute sql
end sub
9#
发表于 2006-11-6 23:13:00 | 只看该作者
  从ACCESS导出到EXCEL,也遇到过类似的情形,第一次可以,第二次不行

  后来干脆每执一次就把EXCEL的进程杀掉,才把问题解决

10#
 楼主| 发表于 2006-11-6 23:16:00 | 只看该作者
我把以下代码省略了就没问题了,即在把Excel文件导入前不打开Excel文件,真是谢谢你,这问题困扰了我两天呢查了N次帮助........

Dim acc As New Excel.Application
acc.Workbooks.Open "" & Me.textexcel.Value & "", 3, False, , , , True[em18]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-16 10:10 , Processed in 0.096867 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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