SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

上一期作品我們分享了用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類型的標籤以及下拉組合框、命令按鈕等。界面如下圖所示

SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

圖1 後臺刪除記錄數據的VBA窗體設計

四、刪除記錄數據的操作體驗

(一)選擇Excel前端界面的表單下拉組合框的操作類別“刪除數據”列表項,準備彈出刪除數據的窗體。如下圖所示

SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

圖2 選擇表單下拉組合框的“刪除數據”選項

(二)在彈出的刪除數據窗體中點擊標題欄的按鈕,則彈出取消數據刪除的消息框提起。如下圖所示

SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

圖3 點擊刪除數據窗體標題欄的按鈕

(三)在彈出的刪除數據窗體中如果下拉組合框字段域提示處不輸入或選擇任何刪除關鍵字信息,而直接點擊按鈕,則會以消息框方式提示字段域內容未輸入或選擇的情況。如下圖所示

SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

圖4 字段域內容未輸入或選擇的情況

(四)如果在彈出的追加數據窗體中下拉組合框字段域提示處輸入了刪除關鍵字信息,但若該關鍵字信息的記錄不存在,我們點擊按鈕,則會以消息框方式提示待刪除數據記錄不存在的情況。如下圖所示

SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

圖5 字段域內容輸入的關鍵字數據不存在記錄提示刪除失敗的情況

(五)如果在彈出的追加數據窗體中下拉組合框字段域提示處輸入了刪除關鍵字信息,且該關鍵字信息的記錄存在後,我們點擊按鈕,則會以消息框方式提示數據追加成功的情況。如下圖所示

SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

圖6 字段域內容輸入或選擇的關鍵字數據存在記錄則成功刪除的情況

(六)數據成功刪除後,會反映到應用操作的工作表,我們這裡以Sheet2作為SQL操作表。如下圖所示

SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

圖7 成功刪除待刪除的數據記錄反映到操作表

好了,看了結果,那我們來看看後臺VBA代碼如何實現的吧,注意哦,我的代碼都加了詳盡的註釋,目的是為了大家更好理解!

五、SQL追加準數據庫Excel的VBA後臺功能代碼解析截圖

(一)模塊1中相關“追加數據”功能的代碼截圖

SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

圖8 “刪除數據”模塊1中代碼截圖1

(二)刪除記錄數據窗體的代碼截圖

SQL玩轉Excel準數據庫“增、刪、改、查、恢復”數據之刪除數據

圖9 刪除數據窗體代碼截圖1

到這裡,我們在準數據庫Excel中實現數據記錄的刪除操作就算分享完了。總結起來,就是先用SQL查詢待刪除關鍵字對應的記錄情況,其次就是根據查詢到的記錄信息構建操作表中的刪除區域,最後利用Excel的數據區域的Delete方法刪除即可完成數據記錄的刪除。各位粉絲朋友可以大膽去嘗試實現準數據庫Excel工作表數據記錄的刪除吧,相信大家一定能學會哦,好了,各位去動手試試,嘿嘿!

好了,希望本次分享能給各位工作帶來工作上同樣的幫助。另外,下期作品我們將繼續分享關於Excel準數據庫數據記錄用SQL方式的修改的操作,敬請大家多多留意關注哦!

最後,還是非常感謝大家不離不棄的持續關注、推廣和點評我的原創作品哦!謝謝!順便溫馨提醒各位粉絲朋友,疫情快過了,但天氣開始熱了,各位粉絲朋友也要多加註意防暑降溫哦!


分享到:


相關文章: