我有一个访问2007报告,如果没有与列出的项目关联的美元金额,其中一个字段会返回$ 0的数值,否则它会返回大于$ 0的美元金额。
我想要做的是构建报告,以便如果字段值= $ 0,我希望它读取“TBD”(不带引号)否则,我希望它返回美元金额。
两部分问题 - 首先,我将在哪个Sub类下编写代码?
而且,我将如何编写if else语句?
这是我到目前为止所做的并且它没有做任何事情(没有错误,只返回带有$ 0打印的报告,其中没有可用的金额)。
Private Sub Cost_AfterUpdate()
If ([YearofExpenditureCost] >= 0) Then
Me.Cost = "TBD"
Else: Me.Cost = [YearofExpenditureCost]
End If
其中[Cost]是包含ControlSource值[YearofExpenditureCost]的文本框的名称。
非常感谢您提出的任何建议。
答案 0 :(得分:1)
您可以使用立即If作为报表上文本框的控件来源。确保testbox的名称不是recordsource中的任何字段:
=IIF(YearofExpenditureCost=0, "TBD",YearofExpenditureCost)
答案 1 :(得分:1)
表单的format属性有四个部分(来自Access帮助):
First The format for positive numbers.
Second The format for negative numbers.
Third The format for zero values.
Fourth The format for Null values.
因此,如果将format属性设置为;;"TBD";
,则应显示值或“TDB”(如果为零) - 此代码不需要代码,只需在报表上设置控件的属性即可。