高中计算机算计Access怎么做,Access非常简单实用的计算器

Access编写计算器,实际上编写计算器的关键语句就是一条,也就是Eval函数。这个函数可以将一个字符串表示的算式计算出结果了。按照这个思路下去,你只是需要得到一个用阿拉伯数字和运算符号连接起来的字符串了,这样一来问题就十分简单了。

倒是在调用计算器并将计算结果写入指定控件处,着实费了些周折。周折处主要有二,其一是被OpenArgs参数迷惑了个把小时,几经摸索算是搞明白了所以然;其二是获得当前控件的名称,折腾好一阵也没搞清楚,好在经t小宝同志指点,终于豁然开朗。

ac9023d2cea7c67b03ede009871876ed.gif

主窗体:Private Sub 折让_DblClick(Cancel As Integer)

'请在OpenArgs参数中,用,号分割主窗体、子窗体控件、控件名称

Dim Ctlname As String

Ctlname = Screen.ActiveControl.Name

DoCmd.OpenForm "myCalc", , , , , , Me.Form.Name & "," & Ctlname

End Sub

子窗体:

Private Sub 数量_DblClick(Cancel As Integer)

'请在OpenArgs参数中,用,号分割主窗体、子窗体控件、控件名称

Dim Ctlname As String

Ctlname = Screen.ActiveControl.Name

DoCmd.OpenForm "myCalc", , , , , , Me.Parent.Form.Name & "," & Me.Form.Name & "," & Ctlname

End Sub

myCalc窗体:

Private Sub 等于_Click()

Dim str As String

Dim Pfname As String

Dim Sfname As String

Dim Cname As String

On Error GoTo 等于_Err

If IsNull(Me.计算.Value) = False Then

Me.计算.Value = Eval(Me.计算.Value)

Else

Me.计算.SetFocus

Exit Sub

End If

If OpenArgs <> "" Then

str = OpenArgs

Pfname = Mid(str, 1, InStr(1, str, ",") - 1)

str = Replace(str, Pfname & ",", "")

If InStr(1, str, ",") = 0 Then

Sfname = Pfname

Cname = str

Forms(Sfname).Form.Controls(Cname).Value = Me.计算.Value

Else

Sfname = Mid(str, 1, InStr(1, str, ",") - 1)

str = Replace(str, Sfname & ",", "")

Cname = str

Forms(Pfname).Controls(Sfname).Form.Controls(Cname).Value = Me.计算.Value

End If

DoCmd.Close acForm, "myCalc"

End If

等于_Exit:

Exit Sub

等于_Err:

Me.计算.Value = "兄弟,搞错了吧?!^o^ "

Resume 等于_Exit

End Sub

Private Sub L0_Click()

Me.计算.Value = Me.计算.Value & Me.L0.Caption

End Sub

如果把动态效果(如经过时变色、按下时下沉)加到“按钮”(实际上是标签)上效果更加理想

(常用控件-相关文章技巧链接):

初识VBA:第四课 计算器代码的编写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值