草庐IT

别争了,Access数据库才是真正的低代码开发平台

宇哥玩Access 2023-03-28 原文

Access数据库是微软公司搞出来的“奇葩”产品。

这个“奇葩”不是贬义词。Access是真的牛X。因为过于牛X,所以让人啧啧称奇。

我也勉强算是半个“IT界人士”,鄙人C#、VB 、Java都接触过一点,实话实说,都不精~

但纵观我经历过的编程框架,我觉得Access才是给我印象最深的独一份~

别的编程语言都是给专业人员设计的、给吃这碗饭的人用的。说白了,虽然目前编程的语言有越来越简单的趋势,但各个框架都没有刻意在降低使用者难度上下功夫。

而Access是专门给小白入门用的专业框架。

Access数据库模糊查询示例

微软设计Access的思路相当独特,就是主动把自己的思维降低到和小白一个层级,尽一切可能代入到初学者啥都不懂的思维里,来设计Access框架。

纵观世界风云,这还真是独一份。

说白了,微软设计Access的思路就是:

全世界的办公人员们呐~你们工作忙没时间学习专业编程,那么好,我干脆专门给你们搞一个简单的得了~保证你们一看就懂、一学就会~

说得简单,业余小白学编程是那么容易的吗?

我大学期间混过几天工业软件公司(做油藏模拟的)行业大佬手把手教我,我都没混明白,实习了几天,发现自己不是工业编程这块料,灰溜溜的提桶跑路了。

5年前出于偶然,开始教别人Access和VBA。经过当几年培训老师的社会毒打,没有谁比我更知道,教别人学编程的过程有多么的艰难。

这个“一学就会”说着容易,做起来可是大大的不简单。

玩编程的都知道:程序想往复杂了设计很简单,往简单了设计很难。

又要满足基本编程功能,又不能搞的太难,这种编程软件很考验设计者的功力。

更奇葩的,Access居然还搞成功了。


用Access数据库做的进销存软件

我姑且发表个妄言:Access才是对新手最友好的低代码开发平台,是零基础学编程的第一选择。

学完Access,再学VBA、再慢慢升级VB.net乃至C#,才是最合理的微软系编程产品学习路径。

(国内大学非计算机专业编程学习就是这个路数:先学Access然后再学VB。不得不说这个路径规划的很合理,我国教育部门在这方面明显做了功课)

个人愚见,不喜勿喷。

国内国外一堆所谓的“低代码平台”,实际上就是Excel表改改拿到云上共享,根本就不是什么“低代码平台”,最多算“低智商平台”。

这些公司压根没理解什么叫低代码~

也有一些搞云共享的人,曾经找我要“一起发财”。

恕我愚钝,我真没看出来:这些设计粗糙低劣的数据表平台有啥卵用。

Access快淘汰了吗?

有人说“Access太小众、快被淘汰了。”

有人说“Access压根没用、因为有了SQLite。”

有人说“居然还有人培训Access?”(这句话是专门针对我的,言外之意他认为Access根本不会有人用)

事实上,微软公司搞出来的编程学习链条,在我看来无比清晰。

办公人员:Excel、VBA

半办公半编程人员:Access数据库、VBA

初级编程人员(工业从业者):VB、SQL Server

中级及更高:VB.net、C#、SQL Server、

最后:Visual Studio的宇宙


用Access制作的采油报表软件


用Access制作的报表


Access数据库生产管理界面

多么清晰呀~Access就是办公编程升级专业编程的桥梁,起到承上启下、继往开来的作用。

我搞了5年VBA,最近再上手Visual Studio搞VB.net和C#,几乎可以无缝对接。尤其是VB.net使用起来简直没有任何阻碍,感觉像是似曾相识。


说到这里必须表扬Access数据库讲师,宇哥。也就是我本人~

熟悉VBA操作的人,用起Visual Studio,那是熟门熟路、上手无比丝滑。

在这里还得表扬微软公司,这么牛的企业、这么厉害的技术,偏偏低调不装B,非要俯下身子,非要给业余选手量身定做编程产品~给门外汉架梯子。

这良心简直大大的好~下面具体说说Access何奇之有。

Access第一“奇”:框架设计简单、学习成本被刻意压缩到极限

Access最奇葩之处:作为一门编程的框架,它的学习成本实在是太低了。

微软的产品经理不知道当年怎么发的神经,居然精简了一切阻碍使用者学习的功能。

为了在保证最核心的功能前提下降低使用和学习成本,Access几乎砍掉了所有影响它主要功能的部件:

Access的功能很单一,就是单机计算+存数据+做窗体,其余的什么也干不了。

虽然勉强能用在局域网,但我个人不建议Access上网。

Access的界面无比简单,五大功能:表、查询(SQL)、窗体、报表、VBA一人分一个地方。属性表和导航栏也是极为简洁。堪称一绝。

VBA的操作界面也是极为简略,甚至简陋,生怕把功能搞复杂了。

最神奇的,对数据库最为重要的SQL语言,Access居然用可视化查询直接给替代了!真正做到了不写一行SQL代码就能完成数据库查询操作!

熟悉数据库的人,应该对Access这个骚操作深有感触,简直神来之笔有木有?

就这样,Access的设计者硬生生的把一门编程框架的使用门槛,降到了很难再降的程度。

优秀!

这特么才是低代码平台该有的样子啊!

Access第二“奇”:功能虽被压缩到极致,但制造出的东西性能丝毫不弱

Access数据库把培训成本压缩到了极限,搞出了超高性价比,但是功能并没有削弱多少。

集中精力做该做的事,这就是Access设计产品功能的思路。

简约不简单,这五个字似乎可以用在Access身上。

这种工业设计明显不是老美设计师一贯的“大大咧咧”风格。老美设计软件跟设计汽车一样,喜欢傻大黑组、“大力出奇迹”。老美的东西虽然好用,但有时候有些繁琐啰嗦(比如苹果手机的各项功能,那真叫一个考验学习能力)

Access却是老美穿上了美特斯邦威、不走寻常路,那叫一个“小家碧玉、四两拨千斤”:

这么讲究易于培训、易于维护,我感觉这简直不是老美的风格,有点日本人的精细和苏联人的简约。

我联想起来当年苏联人设计的米格25战斗机,飞的超级快(油门踩到底能到3马赫)。结果被一个跟媳妇吵架的飞行员,开着叛逃到日本。

西方的专家仔细检查米格25之后,发现机身用的不是钛合金而是落后的不锈钢、加工工艺粗糙。

西方专家一阵鄙夷,但是将飞机拆解后,却又发出一阵赞叹:

这架飞机战勤设计的简直完美:用一把螺丝刀就能拆解、在农村土路就能起降、连中学生都能维修~这才是打仗用的战斗机啊!

对苏联同行佩服的五体投地:

就是这么简陋但容易维护的产品,能飞出平流层、飞出三马赫的速度,让整个西方空军恐惧了二十年。

苏联飞机设计师,用最简单的工艺,最容易培训的设计,制造出一件跨时代的作品。这就是功力。

Access数据库,跟米格25一样,体现了微软的功力。


用Access数据库设计的人事管理界面

用Access做的软件,可以应用在办公和工业的方方面面,性能足以和专业开发的软件相媲美,可维护性和易用性甚至更胜一筹!

高~实在是高~

Access第三“奇”:内置VBA、深藏功与名

很多人被Access数据库的“数据库”这仨字给骗了,以为这就是跟SQLite、SQL Server一样的数据库。

这简直大错特错。

Access的数据库功能只是整体功能的一小部分,它进入设计视图里才能看到的VBA才是这个软件的心脏。


用Access数据库的VBA计算极限

而VBA框架,它是Visual Studio这个神器的原生产品!有木有!

Access就是披着数据库伪装的Visual Studio未驯化版。我说为啥我用完VBA再用Visual Studio这么顺滑这么清爽呢!原来人家和VBA就是一家!


Access数据库的VBA界面

而且更奇葩的是,Access这个划时代产品,居然是专门针对对编程一无所知的办公人员的。

除了微软,世界上还有哪家IT公司这么良心了?

我是真想不明白,微软公司为什么花这么大力气,去专门给这个世界上的编程白痴,特意搞了这么一套奇葩的编程框架?

老盖啊老盖,你们搞出VS、C#、就够牛了,还要送货下乡、走群众路线啊!

真是走别人的路、让别人无路可走啊!

我是宇哥,专门教Access数据库和VB的,全网学习办公软件的女同学,没有不认识我的。

有关别争了,Access数据库才是真正的低代码开发平台的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  4. 使用 ACL 调用 upload_file 时出现 Ruby S3 "Access Denied"错误 - 2

    我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file

  5. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

  6. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  7. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

  8. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

  9. ruby - Net::HTTP 获取源代码和状态 - 2

    我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur

  10. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

随机推荐