ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

10年VBA经验,闲着没事找事干;你出题,我来做,闲着也是闲着

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-8-26 21:21 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wxjwangwxj@yahoo.com.cn
从1999年开始使用office至今,算来已经10年了。10年树木,100年树人,“人老珠黄”了。人老了,总感觉要写点什么,来回忆过去的点点滴滴。
刚开始使用office时,只是使用WORD来制表格、打印文档。后来调到人事部门,EXCEL也开始用上了。在使用EXCEL的过程中,由于大数据量的限制,开始慢慢对ACCESS感兴趣了。当时主要用来制作工资条。

2000年到了现在的单位做库管,不能想象当时管库竟然没有电脑,干了3个月,老爸老妈掏钱买了一台电脑,晚上电脑就成为我的记帐工具。开始用ACCESS编写自己的第一个程序“库存管理”。要学会使用工具,首先要入门。没有师傅,就把“电脑帮助”当师傅。我觉得帮助是最好的师傅。其次是论坛,当时的WWW.ACCESSXP.COM我是从尾看到头的。
库存管理,想来比较简单,流水帐+结存+物料编码表就可以了,一个周解决问题,白天在单位用手工帐工作,晚上带回家把手工帐输入电脑。这样工作到2002年,开始接手盘点,于是开始使用SAP,也配了电脑(幸福啊,再不用晚上工作了)。白天时间多了,把客户表、销售定单加入了。
使用SAP盘点,由于车间得拖后1-2天才能做定单确认,这样盘点时数据就不太准确。不得已,每周把SAP的物料数据导到ACCESS里,在ACCESS处理。BOM表必须建了,还好产品BOM不超过5层,用一个5连查询就可以解决。处理结果再手工复制粘贴或者输入到SAP里。SAP有没有自动功能呢(公司没有本地化支持),放“狗”搜一搜,还真有一个工具ITOLE.EXE的工具可以控制SAP客户端(SAP SCRIPTING没有开放)。用ITOLE的代码录制工具录制了一段操作过程,研究了几天,决定用EXCEL的VBA写一个SAP的假客户端,大概用了1周,基本可以实现数据的自动上传功能。因为是完全模仿键盘操作SAP,所以不用担心谁来找茬。

公司是特殊行业,每年几百万产品,2003年要求每个产品都要有唯一编号来跟踪,车间给产品编号,仓库记录该编号发给哪个客户,很难想象手工操作的效率和准确性,开始考虑由系统自动打印箱标,车间打印记录指定唯一批号对应的特殊编号,仓库发货时,根据批号查询特殊编号,这个功能用了一周时间编完。系统也逐渐完善,根据生产日期,按FIFO自动备货。根据箱标记录,查看收货是否正确。
2004年我做了什么?想起来了,公司用的ACCESS97,查询不能用子表,通常做法是把数据取出放入临时表里,再进一步处理。一天突然心血来潮,把一个含子查询的SQL语句放到ADO执行,呵呵,那种感觉只有恋爱才能相提并论。于是把所有的查询用子查询全部重做了一遍(大概200个),EXCEL使用动态SQL查询数据。
2005年好象没有做过什么。那就长工资吧^0^。
2006年,财务总监(分管IT)找到我,说希望能把SAP数据自动导入到浪潮财务软件里(企业的悲哀,要使用2种财务软件,由中方会计把SAP凭证再输入到浪潮里)。浪潮提供把文本数据导入系统的功能,那么难点在于如何把SAP数据变成浪潮对应科目的文本文件。思路有了,那就去做吧,建浪潮科目与SAP总帐对应表、浪潮客户与SAP客户对应表、浪潮供应商与SAP供应商对应表,顺便加上英译汉,大概用了1个月时间。还想做完这个就可以到财务兼职做个IT,可惜,人算不如老板算,上司不放。
这样持续到2007年,开始接手生产计划。库存有了,BOM有了,生产有了,还缺什么呢?预测!那就往销售MM要预测数据吧,根据历史12个月发货记录,把预测分拆成详细的产品(客户固定,产品比例固定)。库存+生产+已销售-预测-安全库存=我要给车间的生产单,简单。生产单放到系统,车间计划员运行拉料单,产生原材料需求。
2008年,开始讨厌不断增加功能,同时增加代码、窗体、报表的编写方式。不断再想,要是有一种通用窗体和报表来实现不同的功能就好了。想到SAP增加新功能时,不需要升级前端,由程序员把后台程序升级就行了。ACCESS可以导入代码到模块中,用这种方式?不行,MDE是不能更改代码的。怎么办呢?ACCESS的控件和窗体各种事件里可以使用自定义函数,事先编好函数,然后让控件和窗体调用不同的函数应该可行。一试,还真行,把函数当成一条条记录,循环读取记录,执行函数,天哪,还真解决了自动升级的问题。企业所做的工作,无非是判断、赋值、循环等工作,每增加新功能,就把它分拆成相应的函数。这样所有的功能用了10个窗体、2个报表、10个模块,20个函数。只用了树控件做菜单,前台ACCESS97,中间采用ADO,后台ACCESS、SQL。
2009年,SAP升级了,SCRIPTING功能也打开了,ITOLE在MIGO时,力不从心,看来又得重写代码了。。。。。。
2009年7月终于写完了VBA自动控制SAP的代码了。

过去10年的经历,ACCESS经历了3个阶段。
一:基础。建表和查询,用了3年
二:提高。建窗体,写VBA代码,用了4年
三:升华。建类模块,写通用代码,用了3年
正所谓“新3年,旧3年,缝缝补补又3年”。没办法,基础差,不是专科出身。一、二参考自带的northwind数据库,慢慢学习就可以了。我没找到窍门,销售部门的PLMM就是这样编写自己部门的销售管理数据库,大概一个来月就有模有样。三得靠个人能力+悟性+修行+熟练的SQL。
如果不考虑华丽的界面,ACCESS97是最好用的,有些东西还就只能在97下用,就是97莫名其妙的CPU老高。
10年中遇到的最糟糕的事当然是数据丢失。ACCESS好象没那么娇气,10人同时操作,速度还可以。丢数据应该是局域网问题。2008年某一天,正在使用,突然提示不可识别的数据库格式,服务器上数据库只有可怜4K大小。之后每个月都提示数据库错误,实在找不出原因。后来公司升级网络,问题才得以解决,现在分析以前网络带宽低,工作站自动获取IP地址不能持久连接,造成数据库连接突然中断,当正在写数据时,灾难就会发生。
例子在此
http://club.excelhome.net/viewthread.php?tid=474028&page=1&authorid=43343

[ 本帖最后由 djt 于 2009-8-28 12:29 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-8-27 10:28 | 显示全部楼层
新3年,旧3年,缝缝补补又3年,好贴,加油!!!

TA的精华主题

TA的得分主题

发表于 2009-8-27 21:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
真情告白,鼓励!!

TA的精华主题

TA的得分主题

发表于 2009-8-27 21:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
真的强人!

TA的精华主题

TA的得分主题

发表于 2009-8-28 08:26 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-8-28 09:46 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-28 10:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
sap安装盘45D应该有,有些功能能控制,有些不能。
直接用SAP带的SCRIPT应该更简单

TA的精华主题

TA的得分主题

发表于 2009-8-28 10:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-8-28 11:03 | 显示全部楼层
原帖由 djt 于 2009-8-28 10:41 发表
sap安装盘45D应该有,有些功能能控制,有些不能。
直接用SAP带的SCRIPT应该更简单


我们公司SAP的SCRIPT功能也不开放!!:((((

TA的精华主题

TA的得分主题

发表于 2009-8-29 09:01 | 显示全部楼层
可以说是这么几个阶段性:
第一阶段:辛勤困劳中从学习===>应有===>碰壁回头====>摸索===>应用成功===>了解又长了
第二阶段:一发不可收拾的埋头学习,碰见什么都拼命的想办法,不论捷径和弯路,达到目的就成了,经验在不断的积累中
第三阶段:不论什么问题,都能解决,到了遇神弑神,遇佛灭佛的地步,当然学习进度有所放缓,但知识的应用达到比较高的境界
第四阶段:到了人的懒怠时期,做什么都想个通用,如果没有MONEY的驱使下,一般不会有完整的作品,只会动动手,做个小部分通用程式,以备以后不时之需
第五阶段:不要多说,哪有MONEY往哪凑,正式从程序学习中毕业了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 00:25 , Processed in 0.044885 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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