【问题标题】:MS Access 2003 - text box calculation on a formMS Access 2003 - 表单上的文本框计算
【发布时间】:2010-03-18 15:51:08
【问题描述】:

假设我在一个表单上有两个文本框。第一个从 SQL 语句或域聚合表达式等返回计数值。第二个对附加参数执行相同的操作。

现在我想要另一个文本框 (#3) 一个非常简单的百分比。像这样的控制源:

=[textbox2]/[textbox1]

除非返回的原始计数值为零,否则这很有效。如果第一个返回值为零,那么第二个也将为零,理想情况下 0 / 0 应该为零,但我得到一个#Num!文本框中的错误字符串。

我意识到这是另一个奇怪的请求,但这是针对包含大约 50 个这样的仪表板表单的,它们工作得很好,除非我打到零。

那么有什么方法可以设置我可能不知道的文本框属性,以便无需在代码中编写大量 If 语句即可工作?

谢谢!

【问题讨论】:

  • 您需要一个 if 以避免除以零错误。

标签: ms-access vba properties textbox ms-access-2003


【解决方案1】:

如果有可能被零除,我看不出如何避免使用 if 语句

=IIf(TextBox1<>0, TextBox2/TextBox1,"N/A")

【讨论】:

  • 所以我可以使用它作为控制源,而不是仅仅使用 =[1]/[2] 并获得实现的结果。抱歉,我的意思是 VB 中的 If 语句,例如 If me.text1 = 0 then.... 这更好!
  • 太棒了! Remou你又帮了我一次!和往常一样,我非常感谢!
【解决方案2】:

在数学上,除以 0 是不确定的,但为了您的目的,您可以使用以下公式计算它:

=IIf([textbox1]<>0;[textbox2]/[textbox1];IIf([textbox2]=0;0;"N/A"))

也就是说,当textbox1等于0时,你检查textbox2是否等于0,如果是,则返回0,这就是你想要的。

【讨论】:

    猜你喜欢
    • 2010-11-14
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多