我有以下问题: - 我有一个具有以下结构的数据库表:<年龄,性别,工资。,..> - 我有一份Crystal Reports报告,其中包含两个子报告,每个报告显示一个每个年龄段的工资图,一个用于记录男性,另一个用于女性。 如果表中没有性别值为“male”或“female”的记录,我想压制一个子报表。 谢谢, Vali
答案 0 :(得分:0)
创建 SQL表达式,用于计算性别列中男性和女性值的出现次数。例如:
(select count(male) from dbtable where gender = 'male')
然后只需通过抑制公式{%SQL_expression} = 0
关于SQL表达式的一个很好的介绍在这里:https://www.box.com/shared/i2jk8yohku
或者,您可以使用一个公式,在使用 WhileReadingRecords 和共享的BooleanVar从数据库中读取字段时读取字段。
WhileReadingRecords;
Shared BooleanVar isMale;
isMale := False;
if (dbTable.Gender = 'male') then
isMale := True;
isMale;
然后使用共享的BooleanVar来抑制sbreport。