設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 4085|回復(fù): 2
打印 上一主題 下一主題

Access挑戰(zhàn)Excel第二十二期:級聯(lián)更新和級聯(lián)刪除

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2016-5-3 03:01:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
       之前一直在想,要不要拿級聯(lián)更新和級聯(lián)刪除來挑戰(zhàn)下呢?崇尚自由的Excel沒有這兩個屬性,所以遲遲沒出這道題。不過小妖姐姐不屑地說,萬能的VBA可以解決。
       我想,這也代表了相當(dāng)部分Access初學(xué)者的想法吧。不過在我看來,有時候VBA并不是解決問題的最佳方案。一味膜拜代碼,反而是本末倒置的做法。

       先看看Access是如何解決這個問題的:
              ---------------------------------------------------------------------------------------------------
       看來還是先科普下級聯(lián)刪除和級聯(lián)更新的效果吧:
      以表tblEmployee中工號SP00031為例,我們先在tblDailyCheck和tblSuggestion表中,可以看到這個工號對應(yīng)的記錄。


      假定現(xiàn)在需要更改這個工號為SC00031,那么級聯(lián)更新的效果就是,直接在tblEmployee更改過來就好了。
      請打開frmUpdate,選擇這個工號,輸入新工號,點擊確定后就全部更新過來了(請留意子窗體的工號):

       級聯(lián)刪除效果類似,同樣地在tblEmployee刪除一條記錄,這兩個表對應(yīng)的記錄也會被刪除。
       ---------------------------------------------------------------------------------------------------
       Excel會不會這樣解決呢:
       級聯(lián)更新……WOW,簡單,復(fù)制工號,然后在整個工作簿中查找,全部替換……?
       級聯(lián)刪除……復(fù)制工號,在每個工作表中自動篩選,刪除……?
       在工作表較多的情況下,有沒有VBA代碼不夠用的感覺呢?

       視代碼為圖騰的Access愛好者,也可以用代碼來試試。當(dāng)然,在Access里使用查詢可能比Excel簡單一丟丟。不過,如果使用ADO則不見得好多少。
------------------------------------------------------


本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱

點擊這里給我發(fā)消息

2#
發(fā)表于 2016-5-3 13:51:30 | 只看該作者
我不過才玩了兩天繩結(jié),Roy又不讓我玩了……

點擊這里給我發(fā)消息

3#
發(fā)表于 2016-5-3 17:17:46 | 只看該作者
經(jīng)過Roy同學(xué)私下耐心地解釋,我終于明白了。VBA肯定也是能搞定的,通過一個關(guān)鍵詞,如員工工號,遍歷所有表刪除相關(guān)記錄就好了。
不過,這題我拒絕接受挑戰(zhàn),因為沒有現(xiàn)實意義,員工就算離職了,他所有的記錄都要留著的,至少留到仲裁期過掉,通常情況下都是永久保留的,怎么可能刪掉?
嘿嘿嘿嘿,我郁悶洗你!


您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 08:44 , Processed in 0.123078 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表