office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請用微信掃碼)

        

Access非常簡單實(shí)用的計(jì)算器

2009-03-26 19:35:07
todaynew-Office交流網(wǎng)
原創(chuàng)
8169

Access編寫計(jì)算器,實(shí)際上編寫計(jì)算器的關(guān)鍵語句就是一條,也就是Eval函數(shù)。這個(gè)函數(shù)可以將一個(gè)字符串表示的算式計(jì)算出結(jié)果了。按照這個(gè)思路下去,你只是需要得到一個(gè)用阿拉伯?dāng)?shù)字和運(yùn)算符號連接起來的字符串了,這樣一來問題就十分簡單了。
倒是在調(diào)用計(jì)算器并將計(jì)算結(jié)果寫入指定控件處,著實(shí)費(fèi)了些周折。周折處主要有二,其一是被OpenArgs參數(shù)迷惑了個(gè)把小時(shí),幾經(jīng)摸索算是搞明白了所以然;其二是獲得當(dāng)前控件的名稱,折騰好一陣也沒搞清楚,好在經(jīng)t小寶同志指點(diǎn),終于豁然開朗。

1.gif

主窗體:

Private Sub 折讓_DblClick(Cancel As Integer)
'請?jiān)贠penArgs參數(shù)中,用,號分割主窗體、子窗體控件、控件名稱
Dim Ctlname As String
Ctlname = Screen.ActiveControl.Name
DoCmd.OpenForm "myCalc", , , , , , Me.Form.Name & "," & Ctlname
End Sub



子窗體:

Private Sub 數(shù)量_DblClick(Cancel As Integer)
'請?jiān)贠penArgs參數(shù)中,用,號分割主窗體、子窗體控件、控件名稱
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.計(jì)算.Value) = False Then
Me.計(jì)算.Value = Eval(Me.計(jì)算.Value)
Else
Me.計(jì)算.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.計(jì)算.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.計(jì)算.Value
End If
DoCmd.Close acForm, "myCalc"
End If
等于_Exit:
Exit Sub
等于_Err:
Me.計(jì)算.Value = "兄弟,搞錯(cuò)了吧?!^o^  "
Resume 等于_Exit
End Sub
 Private Sub L0_Click()
Me.計(jì)算.Value = Me.計(jì)算.Value & Me.L0.Caption
End Sub 


如果把動(dòng)態(tài)效果(如經(jīng)過時(shí)變色、按下時(shí)下沉)加到“按鈕”(實(shí)際上是標(biāo)簽)上效果更加理想


(常用控件-相關(guān)文章技巧鏈接):
初識VBA:第四課 計(jì)算器代碼的編寫

分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問