代码之家  ›  专栏  ›  技术社区  ›  Michael Zuschlag

ReportViewer被零除

  •  1
  • Michael Zuschlag  · 技术社区  · 18 年前

    这通常可以正常工作,但当F1和F2都为零时,我在报告中得到“#Error”,并得到以下警告:“textbox textbox196的值表达式包含错误:试图除以零。”

    3 回复  |  直到 18 年前
        1
  •  3
  •   Joel Coehoorn    18 年前

    IIF()只是一个函数,就像任何函数一样 全部的 对参数进行评估 之前 Fields!F2.Value/Fields!F1.Value . 换句话说,它将尝试除零,尽管 Fields!F1.Value <> 0

        2
  •  2
  •   Bjorn Reppen    18 年前

    必须有比这更漂亮的方法,但这应该有效:

    =IIF(Fields!F1.Value <> 0, Fields!F2.Value / 
       IIF(Fields!F1.Value <> 0, Fields!F1.Value, 42), 0)
    
        3
  •  0
  •   belidzs    14 年前

    if Fields!F1.Value <> 0 
    then 
    Fields!F2.Value/Fields!F1.Value
    else 0
    

    这应该有效,因为如果“if”部分为false,它不会计算then子句。