当初是你要分开 分开就分开

微信公众号原文

难度系数:初级

系统:Windows 7
软件:Excel 2010

学习路径图

学习路径图.JPG

  • 针对之前的学习路径图,会针对的写一些文章
  • 今天讲讲二项结构,简单来说,就是写代码和存储数据放在不同的文件中,程序+数据库

Why,为什么?

  1. 为什么要整这个所谓的二项结构?
  2. 原因:
    • 执行效率:如果你编制的系统是长期在使用的,并且需要不断存储数据。如果只是单个文件(程序和数据库都在一个Excel文件中),每次启动程序可能会越来越慢,想想打开10M的Excel和打开20K的Excel文件的体验差别
    • 程序的无缝更新:如果你编制的系统是给别人使用的,用户在使用过程中,可能有了一个新的需求,需要更新系统,同时又不能影响他的正常使用。你更新好程序,直接替换程序文件即可,在编制系统这段时间内产生的数据,可以直接使用,无需再次迁移

How,怎么做

  1. 新人做法:将原来的Excel工作表单独成一个新的Excel即可。和原来程序的区别,多了一个打开和关闭,其它基本不变
  2. 老司机做法:数据库,例如使用Access专门存储数据。大家想想对于数据库的操作,其实也就那些,查/增/改/删
    • 没有数据库概念时,我们就先找到要操作的单元格位置,操作数据,存在找来找去
    • 这部分操作,如果使用数据库的玩法,都变成了一句SQL语句,无需具体关注数据放在哪一行,数据库软件系统帮你解决了底层的一些操作

Access

1.png

Do it,执行

  1. 这篇文章就讲讲新人做法,老司机做法请参考Access版块
  2. 一个示例:向数据库中写入信息,原数据库只有19号的信息,新增一列20号的信息

效果
2.png

逻辑过程及代码

  1. 整体分为四个部分
    • 获取拟存储的数据,一般通过计算获得,这里直接赋值
    • 找到拟在数据库中存入的位置
    • 写入数据
    • 保存及关闭数据库文件
  2. 文件结构:由两个文件构成,1个写程序的文件(xlsm),1个数据库文件(xlsx)
  3. 代码
Sub 示例()
    Application.DisplayAlerts = False

    '第1部分:获取到拟存入的数据
    shijian = "20180520"
    heGe = 0.9
    buHeGe = 0.1

    addr = ThisWorkbook.Path & "\数据库\数据库.xlsx"
    Set wb = Workbooks.Open(addr)
    Set sht = wb.Worksheets("示例")

    '第2步:确认拟存储的位置
    colNum = sht.Cells(1, Columns.Count).End(xlToLeft).Column + 1

    '第3步:写入数据
    sht.Cells(1, colNum) = shijian
    sht.Cells(2, colNum) = heGe
    sht.Cells(3, colNum) = buHeGe

    '第4步:保存及关闭数据库文件
    wb.Save
    wb.Close

End Sub

文件结构
4.png

代码截图
3.png

注:一般套路就是这样,主体分为4个部分,复杂情况下,每个部分可能有专门的Function或者Sub去处理


  • 如需文中高清并可以无限放大路径图,可以文后留言留下邮箱,小编会发过去

- 本文为原创作品,如需转载,可加小编微信号learningBin

以上为本次的学习内容,下回见

如发现有错误,欢迎留言指出


更多精彩,请关注微信公众号
扫描二维码,关注本公众号

公众号底部二维码.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值