難度系數(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,為什么?
- 為什么要整這個(gè)所謂的二項(xiàng)結(jié)構(gòu)?
- 原因:
- 執(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,怎么做
- 新人做法:將原來的Excel工作表單獨(dú)成一個(gè)新的Excel即可。和原來程序的區(qū)別,多了一個(gè)打開和關(guān)閉,其它基本不變
- 老司機(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í)行
- 這篇文章就講講新人做法,老司機(jī)做法請參考Access版塊
- 一個(gè)示例:向數(shù)據(jù)庫中寫入信息,原數(shù)據(jù)庫只有19號(hào)的信息,新增一列20號(hào)的信息
效果圖

2.png
邏輯過程及代碼
- 整體分為四個(gè)部分
- 獲取擬存儲(chǔ)的數(shù)據(jù),一般通過計(jì)算獲得,這里直接賦值
- 找到擬在數(shù)據(jù)庫中存入的位置
- 寫入數(shù)據(jù)
- 保存及關(guān)閉數(shù)據(jù)庫文件
- 文件結(jié)構(gòu):由兩個(gè)文件構(gòu)成,1個(gè)寫程序的文件(xlsm),1個(gè)數(shù)據(jù)庫文件(xlsx)
- 代碼
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