怪事,用SQL语句 "Drop Table xxx",不能删除工作表?是什么原因?请各位高手指点一下.

脚印 2004-09-05 06:55:37
编写环境:VB6+ACCESS2003。

想将ACCESS数据库中一个数据表Oki的数据导出到 c:\abc.xls 中的xxx数据表。
用SQL语句:Select * into [Excel 8.0;Database=c:\abc.xls].[xxx] from Oki

由于数据表 xxx 已存在,所以要将数据表 xxx 先删除。在建立好与c:\abc.xls的连接后,我用SQL 语句:OutDbConn.Execute "Drop Table xxx"。但执行结果却只是将XXX数据表的数据删除了,未能将数据表删除。该工作簿(abc.xls)有5个工作表。

还有,用SQL语句:Select * into [Excel 8.0;Database=c:\abc.xls].[xxx] from Oki 导出生成的数据表,再用.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "Table"))的方法读取该工作簿(abc.xls),得到的相同表格名称却有两个,如:xxx 和 xxx$.

请高手们帮我解答一下,谢谢!




...全文
513 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
脚印 2004-09-07
  • 打赏
  • 举报
回复
还有更好的方法吗?

另外,用SQL语句:Select * into [Excel 8.0;Database=c:\abc.xls].[xxx] from Oki 导出生成的数据表,再用.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "Table"))的方法读取该工作簿(abc.xls),得到的相同表格名称却有两个,如:xxx 和 xxx$.

请高手们帮我解答一下,谢谢!晚上来结贴.
RUKYO 2004-09-06
  • 打赏
  • 举报
回复
第一个问题:是这样的,引用AOD对象写SQL语句是不能直接对链接的Excel表进行删除操作的,引用Excel对象才可以。如果你坚持要用AOD对象写SQL语句的话可以把该数据库记录都赋空值。
of123 2004-09-06
  • 打赏
  • 举报
回复
你使用的是外部数据库。有些方法未必支持。对于 Excel 表 Jet 引擎仅支持 Add 和 Edit,不支持 Delete。
你可以判断一下目标表是否存在。(例如用 Select 读一下,并拦截错误。)如果表存在,就用 Inset Into 语句。

On Error Goto EH
Set rs = OutDbConn.Execute ("Select * From [Excel 8.0;Database=c:\abc.xls].[xxx$]) '对于Excel表要用$

OutDbConn.Execute "Insert Into [Excel 8.0;Database=c:\abc.xls].[xxx] Select * From Oki"

A:
'......

Exit Sub

EH:
If Err.Number = -2147217865 Then '表不存在
OutDbConn.Execute "Select * into [Excel 8.0;Database=c:\abc.xls].[xxx] From Oki"
Resume A
End If
MsgBox "实时错误" & Err.Number & ":" & vbCrLf & Err.Description
脚印 2004-09-06
  • 打赏
  • 举报
回复
谢谢 RUKYO(SpeakFool - 蠢蠢的男子汉) 的解答。

不想引用Excel对象,是考虑如果计算机在没有安装Office时会产生错误。

你提到的用AOD对象写SQL语句时,将数据库记录都赋空值?什么意思?不大明白,如果覆盖当前存在的工作表数据时,用Select * into 的方法是行不通的,而如果用Insert into 的方法,如果没有字段名,也行不通啊。

我很菜的,不知道是否有更好的方法。
脚印 2004-09-05
  • 打赏
  • 举报
回复
有朋友做过这样的东东吗?有的话请帮帮忙解答一下,谢谢拉
iiboy 2004-09-05
  • 打赏
  • 举报
回复
没做这样的测试,帮你UP

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧