在MS Access中,当查询结果为空时,是否有一个简单的方法来显示0.00美元的金额?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在MS Access中,当查询结果为空时,是否有一个简单的方法来显示0.00美元的金额?相关的知识,希望对你有一定的参考价值。
在我的MS Access报表中,如果从查询中返回的一个金额(如数量)为空,因为查询表为空,计算的货币字段就会显示#Type!或#Error!。 有没有一种简单的方法来显示打印这些字段的$0.00?
我在本站和其他资料上调查了许多替代方法,并尝试了Nz(数量,0)、IIf(([数量])为空、0、([数量]*[单位成本])等各种组合,都没有好的结果。
答案
你的yesno问题的直接答案是 "No"。我知道的选项只有
1)如果没有数据,就不要打开报表。
一种方法是使用OnNoData事件
Private Sub Report_NoData(Cancel As Integer)
MsgBox "There is no data, report opening is cancelled."
Cancel = True
End Sub
但是,为了处理错误2501,需要在打开报告的过程中进行错误处理--复查。访问。取消生成报告导致错误2501
另一种方法是,如果没有数据,甚至不打开报表--在作为报表RecordSource的表或查询对象上进行DCount或DLookup(使用应用于报表的相同的过滤条件),并根据返回的值使用If Then条件。
2) 在查询中进行计算,而不是在报表上使用文本框,当没有数据时,在报表上显示 "无数据可用 "的消息。
- VBA在报表详情部分的OnFormat事件中动态隐藏标签控件,例如。
Me.lblND.Visible = Not Me.HasData
(请注意,该事件仅在PrintPreview或直接打印时触发) - 或文本框中的表达式。
=IIf([HasData], " ", "No data available")
而且不需要VBA。
3) UNION一个0值的虚拟记录--如果报表有数据,可能会抑制该记录的显示--我从来没有试过。
以上是关于在MS Access中,当查询结果为空时,是否有一个简单的方法来显示0.00美元的金额?的主要内容,如果未能解决你的问题,请参考以下文章