Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

[模塊/函數(shù)] 從存儲(chǔ)過(guò)程說(shuō)起——淺談流程步驟

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2023-3-7 18:19:12 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
在很多人看來(lái),存儲(chǔ)過(guò)程就是依托答辯,而且由于業(yè)務(wù)流程的復(fù)雜性,往往會(huì)越寫(xiě)越長(zhǎng)。我見(jiàn)過(guò)最長(zhǎng)的有6000多行,沒(méi)有美化過(guò)的那種!话銇(lái)說(shuō),10個(gè)字段一行便于統(tǒng)計(jì)。一個(gè)字段一行的那種會(huì)被開(kāi)發(fā)工程師打的,因?yàn)榍短讕讉(gè)表,一屏就沒(méi)了。
這么長(zhǎng)的存儲(chǔ)過(guò)程應(yīng)該管理呢?他們有一個(gè)辦法:大致把業(yè)務(wù)分成幾部分,然后通過(guò)設(shè)置起止序號(hào)來(lái)確定。
比如,我的存儲(chǔ)過(guò)程跑到第5個(gè)步驟,突然斷網(wǎng)了(這種事情經(jīng)常發(fā)生),接下來(lái)我只想從第5步開(kāi)始跑,而不愿意全部重來(lái),就可以設(shè)置起始序號(hào)為5。
又或者我發(fā)現(xiàn)第3和第5步有問(wèn)題,只想跑這兩步,其它(包括第4步)都不想跑。那么就單獨(dú)把起止序號(hào)為3和5的拿出來(lái)單獨(dú)跑……等等。
這是一種低耦合的思想。先把所有步驟拆解出來(lái),然后再根據(jù)需要跑對(duì)應(yīng)的步驟。

說(shuō)到這個(gè),是因?yàn)榍皫滋彀嬗?font color="#333333">sxgaobo發(fā)帖,說(shuō)要《請(qǐng)教個(gè)弱智的問(wèn)題》?赐旰竺娴幕貜(fù),我認(rèn)為這個(gè)問(wèn)題并不弱智。由此想起了之前寫(xiě)存儲(chǔ)過(guò)程的日子,感慨一番,順帶做了一個(gè)實(shí)例,希望能夠拋磚引玉,給大家?guī)?lái)一些啟迪。

按慣例,代碼先奉上。由于只是示例,沒(méi)太大復(fù)雜的代碼,這里就不解釋了。
需要說(shuō)明的一點(diǎn)是,使用這個(gè)方法時(shí),應(yīng)該先把流程捋清,有依賴關(guān)系的必須按順序來(lái),否則可以隨便放。
例如,更新A表數(shù)據(jù),更新B表數(shù)據(jù),再通過(guò)A、B表關(guān)聯(lián)生成C表。那么A、B步驟誰(shuí)第一不重要,但更新C表必須是最后的,否則數(shù)據(jù)就亂了。
  1. Sub pub_Steps(Optional ByVal lngS As Long = -1, Optional ByVal lngE As Long = 100)
  2.     If lngS <= 1 And lngE >= 1 Then
  3.         MsgBox "執(zhí)行操作1"
  4.     End If
  5.     If lngS <= 2 And lngE >= 2 Then
  6.         MsgBox "執(zhí)行操作2"
  7.     End If
  8.     If lngS <= 3 And lngE >= 3 Then
  9.         MsgBox "執(zhí)行操作3"
  10.     End If
  11. End Sub
  12. '執(zhí)行步驟1
  13. Private Sub cmd1_Click()
  14.     Call pub_Steps(, 1)
  15. End Sub
  16. '執(zhí)行步驟2
  17. Private Sub cmd2_Click()
  18.     Call pub_Steps(2, 2)
  19. End Sub
  20. '執(zhí)行步驟3
  21. Private Sub cmd3_Click()
  22.     Call pub_Steps(3, 3)
  23. End Sub
  24. '執(zhí)行步驟1-2
  25. Private Sub cmd4_Click()
  26.     Call pub_Steps(, 2)
  27. End Sub
  28. '執(zhí)行步驟1、3
  29. Private Sub cmd5_Click()
  30.     Call pub_Steps(1, 1)
  31.     Call pub_Steps(3, 3)
  32. End Sub
  33. '執(zhí)行步驟1-3
  34. Private Sub cmd6_Click()
  35.     Call pub_Steps
  36. End Sub
復(fù)制代碼

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 08:39 , Processed in 0.120981 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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