|
受朋友委托,用VBA+EXCL2003方案,借鉴坛子里一些优秀作品,制作了简易的进销存系统,期间遇到的几个问题共享一下。
个人觉得一个达到实用状态的进销存系统,首先要解决好海量数据条件下的速度问题,其次是存储、功能问题。
VBA+EXCL2003方案,提升速度应优先考虑使用EXCL2003内置处理功能,如:高级筛选过滤、数据透视表等。
以下是系统功能截图、及模拟较恶劣情况测试供参考。功能结构如下:
主要功能
1、主界面:引导操作;
2、基础资料存储:存储商品档案、客户、供应商、开票人信息;
3、数据录入:入库、出库数据
4、数据查询:入库、出库,任意条件组合查询、时间区间查询(数据量大时,必不可少的)
5、汇总:入库(出库)品种、批次汇总及对应的进销存汇总
6、毛利分析
辅助功能:权限管理、密码更改、数据备份
数据要考虑容量问题,决定用excl表存储数据是否能满足你的需要,其次速度则需要认真考虑。试过几个纯函数系统,数据量小都还可以,数据量大(20000以上记录)了速度让人无法接受;
因此,本人采用 用透视表+少量函数,且不查询汇总结果时,清空相关表中暂时不用的公式,实现各表按需刷新。速度方面得到较大改善,使之实用成为现实。启动、关闭退出在5s以内完成。极限测试情况如下:
1、数据上限,单表记录小于65336,模拟中销售、入库各5.5万左右记录时,保存一张出库、入库单耗时6~10s(2003年机,cpu闪龙3200,2G内存,160G硬盘)
2、各查询采用高级筛选过滤,销售、入库各5.5万左右记录时1~4s
3、数据汇总采用数据透视表,入库、销售各5.5万左右记录,耗时7~8秒,速度优于函数。
4、数据体积巨大,入库、出库各5.5万左右记录(20字段)总量超20M!,因此数据保存前须清空所有临时数据。
系统尚处于完善测试过程中。。。。。。
[ 本帖最后由 luyina 于 2011-6-6 21:05 编辑 ] |
|