VBA编程小练习:计算第1和第2个重要极限(基于Access数据库)

日期: 栏目:VBA 浏览:258

(全文1700字) 作者:宇哥

来源 | 公众号:宇哥玩Access(ID:datamap2000)

微信:datamap1999(学习Access数据库)

第1个第2个重要极限是微积分知识的一项内容,本文用VBA编程方法计算这两个重要极限的近似值。

Dv45rn8C5J.gif

极限问题是高等数学的重要研究对象。用计算机语言来计算极限问题,即可以锻炼编程思维,又锻炼学以致用用代码解决工程问题的能力。

一、练习题介绍

本案例编程语言采用VBA语言,展示平台基于Access的窗体功能,要求在窗体制作2个输入文本框2个输出文本框

代码编写要求将核心计算代码用模块进行封装,在窗体中进行调用,并实现一定的自动化。

根据要求,本练习的代码分为计算模块和调用代码。这样分开的好处是条理清晰、易于维护,代码行数比较少。

下面介绍具体编写过程。

1.png

2.png

两个重要极限公式

二、计算模块代码编写

根据题目要求,将计算代码直接封装成函数(Function),放在模块里以备调用。

新建1个Access数据库,点击创建-宏与代码-模块,进入模块编写界面。

1.编写“第1个重要极限”计算代码

Function ImpLim1(x As Double) '第1个重要极限
If x = 0 Then '防止分母为0    
    ImpLim1 = ""
Else
    ImpLim1 = Sin(x) / x
End If
End Function

本代码利用了一个if else语句,将x=0的情况单独考虑,防止出现分母为0的情况,导致程序报错。

注意这个模块用的是Function函数功能,因此必须有自变量x。这里将x数值类型设置成double双精度,以扩大取值范围。

sin(x)/x就是第1个重要极限的方程式,很容易理解,x取值越小,这个方程越接近于1。

2.编写“第2个重要极限”计算代码

Function ImpLim2(x As Double) '第2个重要极限
If x = 0 Then '防止分母为0
    ImpLim2 = ""
Else
    ImpLim2 = (1 + 1 / x) ^ x
End If
End Function

第2个重要极限编写逻辑和上面的基本一致,防止分母为0的情况出现。

(1 + 1 / x) ^ x就是第2个重要极限的方程式,x取值越大,越接近与一个常数e。

三、Access窗体的设置

本练习题要求在Access数据库的窗体完成数据的输入输出,并实现自动化操作,因此需要制作一个Access窗体,并加入文本框控件。

4.png

点击创建-窗体设计-生成一个空白窗体;

点击窗体设计工具-控件-文本框-生成4个文本框分别为Text1、Text2、Text3、Text4。

Text1是第一个重要极限的输入值x,Text2是第1个重要极限的输出值。

Text3是第一个重要极限的输入值x,Text4是第1个重要极限的输出值。

Text1和Text3是两个输入文本框。窗体的自动化和调用代码都围绕着这两个输入文本框进行。

3.png

四、调用代码(窗体自动化)

本案例最大程度节省了操作步骤,只需要更改Text1和Text3的数字,就能自动进行方程的计算。

自动化设置的好处是:可以通过窗体直观的感受随着数字的改变、极值随之而来的变化。

1.更改Text1自动计算第1个重要极限近似值

Private Sub Text1_AfterUpdate() 'Text1更新后刷新,窗体自动化一种方案
If IsNumeric(Text1) Then '首先判断Text1里输入的是否是数字,防止报错
    Text2 = ImpLim1(Text1) '调用函数ImpLim1
Else
    Text2 = ""
End If
    Me.Refresh
End Sub

计算代码的调用和窗体自动化是同时进行的,都封装在文本框事件的子过程里。

生成子过程事件的过程如下:

点击设计视图-属性表-文本框Text1-事件-更新后-单击三个点,就直接进入了更新后AfterUpdate的子过程,意味着更新文本框Text1,就直接进行代码调用和计算。

调用代码首先要对Text1的输入值进行判断,如果填的不是数字而是字母或者其他符号,输出文本框Text2里就显示为空白。

输入判断是运用函数IsNumeric进行的。

注意对Text1进行输入值判断,这一步是必须要进行的,不能省略。不然一旦误操作,程序会报错。

当输入值是数字,代码就直接调用函数ImpLim1(第1个重要极限),自变量x就是Text1里输入的值,计算方程的值。

核心调用代码是“Text2 = ImpLim2(Text1)”,用1行代码就解决调用问题了,计算结果显示在Text2里。

2.更改Text3自动计算第2个重要极限近似值

Private Sub Text3_AfterUpdate()
If IsNumeric(Text3) Then
    Text4 = ImpLim2(Text3)
Else
    Text4 = ""
End If
    Me.Refresh
End Sub

调用逻辑跟计算第1个重要极限一样,故省略。

总结

本练习通过用VBA代码计算高等数学两个重要极限近似值,可以熟悉VBA编程的一些基本原理,熟悉变量的定义,熟练掌握模块化编程和调用的方法。

计算两个重要极限的计算过程本身不难,但是怎样进行模块化的封装和熟练调用,还是有一定的难度的。

本案例核心计算代码只有几行,其余代码都围绕着调用自动化、以及窗体展示展开。

掌握核心计算代码调用代码都很重要,不能偏废。因为学以致用才是学习代码的目的,光知道怎么计算是不够的,还需要学会怎么封装和调用。

既要掌握编程的核心原理,也要知道怎么展示计算过程和计算结果,既要懂计算原理,也要知道怎么前端展示,二者缺一不可。

--The End--

640.gif

作者介绍:

宇哥副业是一名央企总部员工,电力工程师。

主业是一名编程培训讲师、电商从业者和电商讲师。

目前运营有3家淘宝店、6家闲鱼店、2家抖店、1家亚马逊(没生意),以及10多个自媒体平台和2个个人网站

目前来看,全网学习办公软件和编程的女同学几乎没有不认识我的,但我更希望全网搞电商的女同学也都认识我。

现在宇哥做电商做培训还是比较顺的,而且主业还上班,目前一年到手的收入加起来有100来个。本来可以躺平,但是由于个人情绪一直不稳定、精神状态时好时坏,因此挺爱吐吐槽、码码字,挺愿意分享的。

我未来的打算是回老家做跨境,一边过退休生活,一边赚点躺着赚钱的生意。另外我计划每年写100万字不糊弄事的精品文章,包括宇哥的人生经验、做技术培训的经验、做电商的经验、做自媒体的经验、在央企当异类跟领导对着干的经验,都分享给大家。

写作是为了流传后世,能帮助一些人最好。帮不上就当是给自己看了。

承蒙大家厚爱,很多人爱看。

谢谢大家。

宇哥课程广告

(长按二维码进入店铺,了解Access课程目录和介绍,点击订阅直接购买并观看录播课)
Access零基础教程
299.99元
Access开发教程
799.99元
Access即学即用教程
299.99元
640.jpg
640.png
640 (1).png
Access进销存教程
199.99元
Access陪跑教程
1599.99元
VBA教程
299.99元

640 (2).png

640 (1).jpg

640 (2).jpg

有详细问题请加宇哥微信:datamap1999

640 (3).jpg

标签:

X

截屏,微信识别二维码

微信号:datamap1999

(点击微信号复制,添加好友)

  打开微信