我有一列时间值,我想对这些值求和,但当一个字段为空时,会显示一个错误#error,我使用了iif(不是(attTime),0,attTime)条件,但这个整数错误,然后我使用了00:00,但它显示为12小时,求和12
我使用的代码
=右("0"和(CInt(左(CDate(Fields!timeAtt.Value.ToString()).ToString("hh:mm"),2)),"DataSet1")+楼层(总和(CInt(右(CDate(Fields!timeAtt.Value.ToString()).ToString("hh:mm"),2)),"DataSet1")/60),2&":"&求和(CInt(右(CDate(Fields!timeAtt.Value.ToString()).ToString("hh:mm"),2)),"DataSet1")Mod 60
所以我想求和字段,避免空字段
使用
iif (isnothing(attTime),"00:00", CDate(Fields!timeAtt.Value.ToString()).ToString("hh:mm"))
在您的表达式
![TimeAtt列][1]
<table>
<tr>
<td>
</td>
<td>
TimeAtt
</td> </tr>
<tr> <td>
</td> <td>
10:50
</td> </tr>
<tr> <td>
</td> <td>
11:00
</td> </tr>
<tr><td>
</td><td>
12:12
</td> </tr>
<tr> <td>
</td> <td>
Null
</td> </tr>
<tr><td>total</td><td>#Error</td>
</tr>
</table>
这就是查询=右("0"和(CInt(Left(iif(isnothing(Fields!timeAtt.Value.ToString()),"00:00",CDate(Fields;timeAtt.Vindow.ToString()。ToString("hh:mm"),2)),"DataSet1")+楼层(总和(CInt(右(CDate(iif(isnothing(Fields!timeAtt.Value.ToString()),"00:00",CDate(Fields!timeAtt.Value.TeString(()).ToString("hh:mm")),2),"DataSet1")/60),2&":"&求和(CInt(右(CDate(iif(is nothing(Fields!timeAtt.Value.ToString()),"00:00",CDate(Fields;timeAtt.Vindow.ToString()).TeString("hh:mm")),2),"DataSet1")Mod 60
如果处理底层查询,这似乎会更简单。这行得通吗?
SELECT ISNULL(hoursAtt,'00:00:00') AS hoursAtt FROM attendanceTable