ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] VBA SQL删除所有数据?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-2-14 19:45 | 显示全部楼层 |阅读模式
请教高手:


SQL = "DELETE FROM [Sheet1$]" 这句话为何不能删除工作表Sheet1中的所有已存在的记录?


谢谢!

TA的精华主题

TA的得分主题

发表于 2023-2-14 20:06 来自手机 | 显示全部楼层
SQL暂时不支持删除
可以使用工作表方法:
Sheet1.UsedRange.Delete

TA的精华主题

TA的得分主题

发表于 2023-2-14 21:41 | 显示全部楼层
虽然excel可以使用access查询语法,但是有些命令还是不通用的

例如建表 删表

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-14 23:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lss001 发表于 2023-2-14 20:06
SQL暂时不支持删除
可以使用工作表方法:
Sheet1.UsedRange.Delete

非常感谢!
就是因为不想直接打开另外的工作簿,所以才用SQL方法的。

那么,是否可以用UPDATE的方法变通一下,将所有的数据区域皆赋值为空值,即""?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-14 23:06 | 显示全部楼层
语虚何以言知 发表于 2023-2-14 21:41
虽然excel可以使用access查询语法,但是有些命令还是不通用的

例如建表 删表

非常感谢!
就是因为不想直接打开另外的工作簿,所以才用SQL方法的。

那么,是否可以用UPDATE的方法变通一下,将所有的数据区域皆赋值为空值,即""?

TA的精华主题

TA的得分主题

发表于 2023-2-15 08:12 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
north00 发表于 2023-2-14 23:05
非常感谢!
就是因为不想直接打开另外的工作簿,所以才用SQL方法的。


'清空工作表可使用以下语句
' 注意应先修改连接字符串中IMEX的值为0
'→IMEX=0

'sql清空Sheet1表格:
sql = "Drop Table [Sheet1$]"

TA的精华主题

TA的得分主题

发表于 2023-2-15 10:37 | 显示全部楼层
lss001 发表于 2023-2-15 08:12
'清空工作表可使用以下语句
' 注意应先修改连接字符串中IMEX的值为0
'→IMEX=0

实测了一下,可以清除表中的所有数据,但原有的格式,颜色和划线清除不了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-15 13:06 | 显示全部楼层
lss001 发表于 2023-2-15 08:12
'清空工作表可使用以下语句
' 注意应先修改连接字符串中IMEX的值为0
'→IMEX=0

非常感谢!

这是个很好的办法,但经实测好像有点小瑕疵使得Drop指令更像是ClearContents,而不是删除记录行。因为我按照这个方法试了一下,目的Excel表格(A.xlsx)中的原有的12行数据都被清除掉了,然后再用Insert Into指令朝目的Excel表格(A.xlsx)中写入5行数据,然后在用另外一个软件去调用目的Excel表格(A.xlsx)发现仍有12行数据,只不过后7行是空白行。。。。

请问,这种有办法去解决吗?谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-15 13:07 | 显示全部楼层
cui26896 发表于 2023-2-15 10:37
实测了一下,可以清除表中的所有数据,但原有的格式,颜色和划线清除不了。

类似ClearContents,但不是delete整行的数据,我也测试过了

TA的精华主题

TA的得分主题

发表于 2023-2-15 13:17 来自手机 | 显示全部楼层
本帖最后由 lss001 于 2023-2-15 13:19 编辑
north00 发表于 2023-2-15 13:06
非常感谢!

这是个很好的办法,但经实测好像有点小瑕疵使得Drop指令更像是ClearContents,而不是删除 ...


需要先关闭当前连接
写入与获取数据时再重新连接
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 06:38 , Processed in 0.040649 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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