Office中国论坛/Access中国论坛

标题: 求窗口文本框的值?不固定之乘积怎么求? [打印本页]

作者: jsf2008    时间: 2009-5-6 09:19
标题: 求窗口文本框的值?不固定之乘积怎么求?
例子如下:在窗口“线割进度管理”中,我想求“材料”文本框的值:[长]*[宽]*[高]*36*0.00000785,长宽高的数不固定,36是单价,也不固定,有时是37,另有0.00000785数据是固定的,请问,我要怎么才能输入数据后自动算出此文本的值?
请各位帮帮我,谢谢
作者: todaynew    时间: 2009-5-6 10:08
可采用输入长,宽,高,单价四个用分割号分割的值,然后在双击事件中用Eval函数进行计算。其中需要用到一些文本查找、替换函数。
作者: jsf2008    时间: 2009-5-6 10:17
师傅,能不能传个例子呢?用分割号分割的值都不太明白,请教一下好吗?
作者: todaynew    时间: 2009-5-6 10:48
本帖最后由 todaynew 于 2009-5-6 10:59 编辑

假设在材料文本框中输入长宽高和价格格式为:   30,20,10,25.12
在其双击事件中写如下语句:
me.材料.value=Replace(me.材料.value, ",","*") & " *  0.00000785"  '算式字符串为长*宽*高*单价*系数
me.材料.value=Eval(me.材料.value)                                              '运算字符串算式

这样应该可以达到你要的效果

如果文本框直接输入:30*20*10*25.12,则双击事件中可以如下:

me.材料.value=Eval(me.材料.value & " *  0.00000785")

加分割符号(是,;|等都可以)的目的是要找到乘号的替换位子而已。

如果这个程序仅你自己用是可以这样写,如果是很多人用的话,这样的解决思路就不妥当了。因为你很难保证每个人都按照约定的格式输入数据。通常这样情况下,不如做一个计算器来解决这个问题。这方面我写过一个例子,你可以参考一下:《计算器》
作者: jsf2008    时间: 2009-5-6 11:07
谢谢大哥,太感谢了
作者: jsf2008    时间: 2009-5-6 12:02
Private Sub Form_Load()

End Sub

Private Sub cl_DblClick(Cancel As Integer)
       Dim Ctlname As String
    Ctlname = Screen.ActiveControl.Name
    DoCmd.OpenForm "myCalc", , , , , , Me.Form.Name & "," & Ctlname
End Sub
Private Sub Form_Load()

End Sub

Private Sub xk_DblClick(Cancel As Integer)
   
    Dim Ctlname As String
    Ctlname = Screen.ActiveControl.Name
    DoCmd.OpenForm "myCalc", , , , , , Me.Form.Name & "," & Ctlname
End Sub
发现二义性的名称:Form_Load
大哥,哪里出问题了,请帮我看看,
作者: Henry D. Sy    时间: 2009-5-6 12:09
把两个空Form_Load删掉
作者: todaynew    时间: 2009-5-6 13:21
本帖最后由 todaynew 于 2009-5-6 13:37 编辑
Private Sub Form_Load()

End Sub

Private Sub cl_DblClick(Cancel As Integer)
       Dim Ctlname As String
    Ctlname = Screen.ActiveControl.Name
    DoCmd.OpenForm "myCalc", , , , , , Me.Form. ...
jsf2008 发表于 2009-5-6 12:02

请按版主的指示精神办

此外,最近也在学习CAD,不知道CAD中的数据是否能导出成数据库,如果可行的话,把CAD与Access连起来用似乎很方便。
作者: jsf2008    时间: 2009-5-6 13:49
谢了,我正在学习中
作者: life_is_sweet    时间: 2009-7-5 22:42
谢了,我正在学习中




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3