當(dāng)初是你要分開 分開就分開

微信公眾號(hào)原文

難度系數(shù):初級(jí)

系統(tǒng):Windows 7
軟件:Excel 2010

學(xué)習(xí)路徑圖

學(xué)習(xí)路徑圖.JPG
  • 針對之前的學(xué)習(xí)路徑圖,會(huì)針對的寫一些文章
  • 今天講講二項(xiàng)結(jié)構(gòu),簡單來說,就是寫代碼和存儲(chǔ)數(shù)據(jù)放在不同的文件中,程序+數(shù)據(jù)庫

Why,為什么?

  1. 為什么要整這個(gè)所謂的二項(xiàng)結(jié)構(gòu)?
  2. 原因:
  • 執(zhí)行效率:如果你編制的系統(tǒng)是長期在使用的,并且需要不斷存儲(chǔ)數(shù)據(jù)。如果只是單個(gè)文件(程序和數(shù)據(jù)庫都在一個(gè)Excel文件中),每次啟動(dòng)程序可能會(huì)越來越慢,想想打開10M的Excel和打開20K的Excel文件的體驗(yàn)差別
  • 程序的無縫更新:如果你編制的系統(tǒng)是給別人使用的,用戶在使用過程中,可能有了一個(gè)新的需求,需要更新系統(tǒng),同時(shí)又不能影響他的正常使用。你更新好程序,直接替換程序文件即可,在編制系統(tǒng)這段時(shí)間內(nèi)產(chǎn)生的數(shù)據(jù),可以直接使用,無需再次遷移

How,怎么做

  1. 新人做法:將原來的Excel工作表單獨(dú)成一個(gè)新的Excel即可。和原來程序的區(qū)別,多了一個(gè)打開和關(guān)閉,其它基本不變
  2. 老司機(jī)做法:數(shù)據(jù)庫,例如使用Access專門存儲(chǔ)數(shù)據(jù)。大家想想對于數(shù)據(jù)庫的操作,其實(shí)也就那些,查/增/改/刪
  • 沒有數(shù)據(jù)庫概念時(shí),我們就先找到要操作的單元格位置,操作數(shù)據(jù),存在找來找去
  • 這部分操作,如果使用數(shù)據(jù)庫的玩法,都變成了一句SQL語句,無需具體關(guān)注數(shù)據(jù)放在哪一行,數(shù)據(jù)庫軟件系統(tǒng)幫你解決了底層的一些操作

Access

1.png

Do it,執(zhí)行

  1. 這篇文章就講講新人做法,老司機(jī)做法請參考Access版塊
  2. 一個(gè)示例:向數(shù)據(jù)庫中寫入信息,原數(shù)據(jù)庫只有19號(hào)的信息,新增一列20號(hào)的信息

效果

2.png

邏輯過程及代碼

  1. 整體分為四個(gè)部分
  • 獲取擬存儲(chǔ)的數(shù)據(jù),一般通過計(jì)算獲得,這里直接賦值
  • 找到擬在數(shù)據(jù)庫中存入的位置
  • 寫入數(shù)據(jù)
  • 保存及關(guān)閉數(shù)據(jù)庫文件
  1. 文件結(jié)構(gòu):由兩個(gè)文件構(gòu)成,1個(gè)寫程序的文件(xlsm),1個(gè)數(shù)據(jù)庫文件(xlsx)
  2. 代碼
Sub 示例()
    Application.DisplayAlerts = False
    
    '第1部分:獲取到擬存入的數(shù)據(jù)
    shijian = "20180520"
    heGe = 0.9
    buHeGe = 0.1
    
    addr = ThisWorkbook.Path & "\數(shù)據(jù)庫\數(shù)據(jù)庫.xlsx"
    Set wb = Workbooks.Open(addr)
    Set sht = wb.Worksheets("示例")
    
    '第2步:確認(rèn)擬存儲(chǔ)的位置
    colNum = sht.Cells(1, Columns.Count).End(xlToLeft).Column + 1
    
    '第3步:寫入數(shù)據(jù)
    sht.Cells(1, colNum) = shijian
    sht.Cells(2, colNum) = heGe
    sht.Cells(3, colNum) = buHeGe
    
    '第4步:保存及關(guān)閉數(shù)據(jù)庫文件
    wb.Save
    wb.Close
    
End Sub

文件結(jié)構(gòu)

4.png

代碼截圖

3.png

注:一般套路就是這樣,主體分為4個(gè)部分,復(fù)雜情況下,每個(gè)部分可能有專門的Function或者Sub去處理


  • 如需文中高清并可以無限放大路徑圖,可以文后留言留下郵箱,小編會(huì)發(fā)過去
  • 本文為原創(chuàng)作品,如需轉(zhuǎn)載,可加小編微信號(hào)learningBin

以上為本次的學(xué)習(xí)內(nèi)容,下回見

如發(fā)現(xiàn)有錯(cuò)誤,歡迎留言指出


更多精彩,請關(guān)注微信公眾號(hào)
掃描二維碼,關(guān)注本公眾號(hào)

公眾號(hào)底部二維碼.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,653評(píng)論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,189評(píng)論 25 708
  • 我們最大的敵人就是自己 自我設(shè)限 自我懷疑 自我否定 我的應(yīng)對方式是 你根本沒那么重要 別人根本沒有注意到你 因此...
    鶴舞vivi閱讀 186評(píng)論 0 0
  • 透過窗簾, 屋外的陽光燦爛 照射進(jìn)來。 假期, 暖冬之晨, 被窩里, 思緒萬千。 中年, 又歸零出發(fā), 幾多愁煩,...
    青山伴春風(fēng)閱讀 228評(píng)論 0 3
  • 痛經(jīng)醫(yī)生 本章分享:入藥方法 一般藥物可以同時(shí)入煎,但部分藥物因其性質(zhì)、性能及臨床用途的不同,所需煎煮的時(shí)間不同,...
    c90cf4b331c1閱讀 525評(píng)論 0 0

友情鏈接更多精彩內(nèi)容