找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
宇哥帮你零基础建设外贸独立站
宇哥淘宝虚拟类目-付费微信群
宇哥闲鱼3个月陪跑课
Access数据库-零基础入门课程
Access数据库-自用软件开发课程
Access数据库-即学即用课程
Access数据库-进销存课程
Access数据库-VBA入门课程
Access数据库-陪跑课程
查看: 127|回复: 0

我的Access自学之路(4)

[复制链接]

109

主题

15

回帖

553

积分

管理员

积分
553
发表于 2024-3-7 15:52:59 | 显示全部楼层 |阅读模式
踩坑是常态、调试是大头
正如前文所说,Access的技术,即便最简单的一个SetFocus函数,也不是轻轻松松说用就用的。要把一个函数用对,平均花费的时间可能要几个小时,要查很多次百度,而且必须亲自动手敲一遍代码,一个字一个字的敲,不能复制粘贴,至少要自己写个五六遍。
即便如此,踩坑也是常态。可以说踩坑是必不可少的开发阶段。
举个例子。以SetFocus为例,是个很小的函数,但及时即使自己已经多次使用、并已经熟悉了SetFocus这个小的不能再小的轮子,知道Text1.SetFocus能让Text窗格被选中,实际用的时候,也会经常出错,或者忘掉用法和语法。这是非常正常的现象。
永远不要说编程是一个简单的任务,永远、永远。
所以那些动辄能编几百上千行,还不怎么出错的程序员,是真真正正的大牛。我经常想,这些十几年严格训练的程序员,得踩多少坑,经历多少痛苦和折磨才能有今天的一些成果啊。
更不要说能造轮子的那些程序员,我觉得没下过基本功的,连轮子的边可能都摸不到,连最基本的语句可能都写不好,最简单的函数可能都用不明白。
我其实有代码恐惧症,尤其是超过三行的VB代码,我如果看不懂,就不敢轻易用。因为不会维护代码,是会发生糟糕的后果的。
我现在开发的Access,所有代码可以不吹牛的说,我知道怎么用怎么写,虽然有时候一个模块一个窗体只有一行代码,我也可以骄傲地说,我掌握这个用法,会调试。
我还坚持因陋就简的原则,如果一行代码我能看懂,但不明白原理,我就不会去用。因为Access VBA里一定会有更简便的一目了然的方法,如果没有,果断放弃这个功能也不一定是差选择。
VB的技术没有简单和复杂之分,最好的方法是用Access自带的函数来编程,这些函数都是微软大牛们几十年来积累的成果,远比我们想象的更成熟更稳定。Access软件的目的就是告诉我们我有什么VB轮子,教你怎么用,我觉得并不是鼓励我们搞什么独创。
因此我在论坛上看到过很复杂的代码,有的也能看懂,但真的不会轻易去用。复杂不代表牛逼。
我觉得下一步我的学习方法路径非常清晰简单:一个一个的学习Access手册上给的函数,搞清楚看明白。
我再强调一下,我的职业是客户经理和研究员,并不是个码农。但我也建议码农多学轮子少造轮子。
三行简洁好用的代码,远远超过三十行难看可能功能还强的代码。这是Access开发的原则。
要真正的理解代码,而且动手写三遍,每个字符都要能解释是什么意思,为什么这么用?为什么这个顺序?能不能再简单点?
编程最忌讳觉得自己low自己简单,没有low的技术只有low的人。搞好一个Access数据库,出了Bug不会维护才是真low真简单。
我现在自己做的数据库,除了刚开始做的几个数据库,没有掌握最简原则,有些代码不会维护,后来做的数据库大多都遵循了“傻瓜原则”。所有代码我都能控制能掌握。

下面再来说说Access数据库的调试
我个人强烈建议多用外行帮助调试提意见,我那个关于字体大小的问题,就是因为同事老花眼看不清发现的,现在大字体已经成为了我的开发原则。
Access的导航栏不能忽略,最好把表、窗体、报表、查询都按照严格的命名规范命名好,然后放到命名好的导航栏里面。
完成一个窗体,就要调试好,不能堆一大堆窗体再调试。调试也要遵循傻瓜原则,从登陆开始就调试,用比较苛刻的使用习惯折腾你自己的产品。
谈点个人体会,其实调试很重要,很多创意都在调试过程中产生,调试过程也很惬意,美化、优化这种感觉是不错的。可以把调试的界面用视频录下来,发给别人一起帮着调试。也可以发到朋友圈,刷一波赞和关注。
Access毕竟是个入门级的数据库,从它被归为Office大礼包中就能看出来。用它设计出来的软件,需要调试的时间并不长,但是也不能忽略调试。

Access性能优化
我第一个Access作品,是给公司设计营销数据库。这第一个作品还不是很成熟,很多我后来掌握的基本理念还没有在这个数据库中体现。
这个数据库大概录入了15万条左右的营销数据,字段有4个。前后开发用了一个多月的时间,随着功能不断增多,数据量不断增大,我发现了数据库存在很多的问题:
(1)图片过大
由于不了解Access数据库的一些基本性能,我在插入图片的时候没有考虑图片的大小。每次打开数据库,图片都会一闪一闪的。
(2)查询较慢
15万条数据,查询的设计比较原始,没有考虑到性能问题,打开查询界面需要半分钟,查一次的速度也慢的惨不忍睹。
(3)内容过多
数据库加了很多非核心的模块,导致数据库过大,导致下载和分发不易,增加了不必要的浪费。
如何利用好Access的强大功能,是需要仔细斟酌好好权衡的。根据我的经验,我不太建议把Access做成大而全的数据库,更希望把它做成小而精的数据库。每个数据库的表不宜过多,越少越好。如果两张表并不属于一项业务,尽量不要放在一个数据库里。
这就好比一个Excel文件,尽量不要用太多的Sheet,否则看着累、用着也不方便,更严重的是,会严重拖累数据查询的速度,影响使用体验。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

access开发
Access即学即用
Access零基础
access陪跑
Access进销存

QQ|小黑屋|宇哥编程论坛 ( 京ICP备2022024677号-2|京公网安备11011202100561号 )

GMT+8, 2024-5-19 15:02 , Processed in 0.059621 second(s), 22 queries .

Powered by 宇哥

© 2001-2024 Discuz! Team.

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