数据库表格里的数据被删除恢复

上一期作品我们分享了用SQL完美呈现了对Excel准数据库实施追加数据的功能 。从中我们用了最重要的核心语“Insert Into [准数据库Excel数据表$区域] (字段列表) Values(字段值列表)”就轻松搞定了Excel准数据库数据表数据的追加,打破了“Excel Home”论坛里大多数大咖宣称的用SQL不能对Excel准数据库数据的追加问题瓶颈 。
今天,我们继续来打破了“Excel Home”论坛里大多数大咖宣称的用SQL不能对Excel准数据库数据的删除问题瓶颈 。如果直接用SQL的Delete操作确实没法直接删除Excel准数据库数据,但是,是否就没有办法了呢?答案是否定的,事实上,我们只要多加研究,会找到另一条用SQL语句解决对Excel准数据库数据删除的另外方案 。所以说啊,只要肯动脑子,什么问题都可以寻求出它们的解决方案的!
那到底这个方案是什么呢?通过我的研究、试验,总结起来就是“SQL查询要删除的记录+Excel自身的记录区域Delete删除功能” 。这是很容易解释的:首先,我们得根据要删除记录的关键字用SQL语句查询出要删除的记录,取出查询的记录中唯一关键字段信息内容;其次,就是根据取出查询到的唯一关键字段信息,换算出要删除数据记录在Excel准数据库SQL操作的数据表中的行信息,由这些行信息构建待删除的记录数据区域;最后,调用数据区域的.Delete方法删除 。
明白了以上等效解决方案思路,我们下面做起来就有了技术线路,亦会相当得心应手了 。到这里,各位估计迫不及待了吧!好吧,下面我们马上分享给大家如何实现 。补充一句:上次的原始数据主界面设计和SQL操作的数据工作表我们不再呈现,直奔我们今天主题的内容!还想熟悉上一期主界面情况的请浏览上一期作品,望各位粉丝理解 。
一、SQL查询待删除Excel准数据库数据工作表数据语法规范
语法:Select * From [准数据库Excel数据表$区域] Where 待删除的条件
说明:查询当前操作表待删除的数据记录信息
举例:Select * From [Sheet2$A1:D] Where 姓名 Like ’%王%’
二、Excel数据区域的删除
只需要用Excel区域的Delete方法即可 。
格式:Range.Delete
举例:
Dim rg As Range
Set rg=Sheet2.Range(“A3:D8”)
Rg.Delete
三、VBA后台删除记录数据窗体设计
在该窗体里,我们增设有提示作用的ActiveX类型的标签以及下拉组合框、命令按钮等 。界面如下图所示

数据库表格里的数据被删除恢复

文章插图
图1 后台删除记录数据的VBA窗体设计
四、删除记录数据的操作体验
(一)选择Excel前端界面的表单下拉组合框的操作类别“删除数据”列表项,准备弹出删除数据的窗体 。如下图所示
数据库表格里的数据被删除恢复

文章插图
图2 选择表单下拉组合框的“删除数据”选项
(二)在弹出的删除数据窗体中点击标题栏的<X>按钮,则弹出取消数据删除的消息框提起 。如下图所示
数据库表格里的数据被删除恢复

文章插图
图3 点击删除数据窗体标题栏的<X>按钮
(三)在弹出的删除数据窗体中如果下拉组合框字段域提示处不输入或选择任何删除关键字信息,而直接点击<根据关键字删除数据>按钮,则会以消息框方式提示字段域内容未输入或选择的情况 。如下图所示
数据库表格里的数据被删除恢复

文章插图
图4 字段域内容未输入或选择的情况
(四)如果在弹出的追加数据窗体中下拉组合框字段域提示处输入了删除关键字信息,但若该关键字信息的记录不存在,我们点击<根据关键字删除数据>按钮,则会以消息框方式提示待删除数据记录不存在的情况 。如下图所示

推荐阅读