ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 23662|回复: 74

[原创] VBA+ACCESS进销存系统设计思路及VBA源码分享

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2021-1-17 11:12 | 显示全部楼层 |阅读模式
本帖最后由 lhm0926 于 2021-2-1 10:52 编辑

开贴目的:

帮助大家在开发进销存系统时理清思路,避免一些误区,以及开发过程中的实用技巧。

展现内容:

思路展现及源码。


使用工具:

        64Excel2013 Win10操作系统


步骤:从库存计算管理,扩展到销售采购、应收应付止。


感兴趣的朋友可以根据自己的实际情况一步一步来完善系统,了解整个开发流程后可以自行将系统扩展为多用户版本,根据自身数据量大小,可以采用ACCESSSQLServer等数据库来存储数据,提高安全性和速度。


说明:我不是专业开发人员,请大家不要关注什么开发原则和套路,这些我不懂,本帖只要分享给大家我在做系统时的一些心得,完全是实战,希望能帮助到有兴趣的朋友。


发帖过程中各位有什么想法和需求都可以随时交流,在大方向不变的前提下,补充完善系统。


离开具体的行业是无法谈论进销存的,各行业有各行业的特点,包括产品特点,交易特点以及管理特点等。


这里我们以简单的商贸型企业为例子开始扩展,过程中也会说一些特殊行业的处理方法。

3楼:导航界面设计
8楼:系统数据结构说明
11楼:辅助资料设计
14楼15楼:基础资料设计
21楼:更改为ACCESS+VBA
22楼:单据设计

评分

9

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-1-18 16:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
占位坐等上传,正在学习中

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-18 18:05 | 显示全部楼层

由于系统功能较多,需要设计一个导航界面,来控制各个模块。导航设计方法主要有以下几种:

  • 按钮式:指定某个工作表为主控台(就是可以调用各个模块的界面),放置多个按钮,可以是宏按钮,也可以是ActiveX按钮,本帖主要探讨进销存的功能,所以都以按钮方式来操作;
  • 指定工作表为导航表,放置图片,然后指定宏,可以使界面更加的美观;
  • 更高级的操作是自定义Ribbon功能区,这样做出来的导航功能性更强,也显的更专业,不用定义导航表,直接镶嵌在excel的菜单中,这种方式要excel2007以上版本才支持;



下面我们来做一个导航界面

  • 把工作薄第1个工作表命名为“主控台”(名称自己随便起);
  • 设计一下界面分区:
  • 11.png                              
  • 转到开发工具界面,插入1个ActiveX控件中的按钮,由于我们设计了8个模块,所以再复制出7个同样的按钮,然后用代码来控制按钮的外观;
  • 22.png
  • 由于vba不支持控件数组,所以会繁琐一些,备注要清楚;
  • 在Worksheet_Activate事件中填入如下代码:
    44.png
    上面的代码是设置按钮1的外观,如果要设置按钮2,只要复制上面的代码,把第1行中的部门替换为员工,CommandButton1改为CommandButton2,就会自动把按钮2放在工作表中内容为员工的单元格中。当重新改变行高或列宽时,按钮会自动适应;
  • 按上述代码录入后,效果如下图: 33.png


进销存系统设计.rar (31.32 KB, 下载次数: 920)


评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-1-19 08:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
小白一个,在线坐等更新偷学

TA的精华主题

TA的得分主题

发表于 2021-1-19 11:08 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-19 11:12 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-1-19 11:50 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-19 18:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

系统数据主要分为两类:

静态数据

比如客户资料,商品资料、商品类型等一次性录入系统,供动态数据调用的资料。

其特点是记录有限且唯一

再根据是否拥有属性区分为基础资料,辅助资料两大类

基础资料:带属性的静态资料,如客户资料中客户会有地址,电话,联系人,付款账户等属性。

辅助资料:不带属性的静态资料,比如客户类型,性别等资料,只有一个名称。


静态资料在处理是常用习惯是设置一个代码,代码的作用是排序和保证静态资料的唯一性,且自由定义,可以定义为有意义的,也可以是无意义的流水号。

当资料数据量较大时,可以采用分级、特定字母等有意义组合,以便于快带查找和录入;

当数据量较小时,直接采购流水号即可;

         

动态数据

         随时间不段变动的资料为动态数据,主要是记录各种单据,如销售单,采购单,入库单,出库单,其特点是随着时间的推移不断发生,主要用于记录各种业务的数据。

         动态数据也要指定一个唯一的标志,一般是单据编号,这个编号唯一,且不能被修改。一般由系统自动生成。可以直接是流水号,也可以是有意义的编号,如带日期+流水号的方式。


数据的系统标记:

一般用户在做数据时,一般以代码、名称、编号做为唯一的标志,这样是没有问题的。但是如果出现需要修改代码或编号的情况下,就会导致系统内记录的历史数据没有发生变化而导致错误。


例如:一个客户的代码为09,后由于客户变多不方便管理,将客户代码修改为0009,这样就会导致系统中记录该客户的所有资料如销售单仍为09,从而产生错误,即便是修改也会产量大量的工作。


为了保证系统的完整性,系统内所有静态数据和动态数据均以内码记录,这个内码一般以数字格式保存,由系统产生,正常的操作用户接触不到,保证不被用户修改。这个内码一般也称之为ID,就象是人的身份证一样。


TA的精华主题

TA的得分主题

发表于 2021-1-20 11:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
持续跟踪学习

TA的精华主题

TA的得分主题

发表于 2021-1-20 13:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
追更好煎熬啊
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 09:29 , Processed in 0.040653 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表