我有时间值列,我想要对这些值求和,但是当一个字段为空时,显示错误 #error ,我使用了iif(isnothing(attTime),0,attTime)条件,但这个整数错误然后我使用00:00但它出现12小时和总和12
我使用的代码
=右(“0”& Sum(CInt(左(CDate(Fields!timeAtt.Value.ToString())。ToString(“hh:mm”),2)),“DataSet1”) + Floor(Sum(CInt(右)(CDate(Fields!timeAtt.Value.ToString())。ToString(“hh:mm”),2)),“DataSet1”)/ 60),2) &安培; “:”& Sum(CInt(右)(CDate(Fields!timeAtt.Value.ToString())。ToString(“hh:mm”),2)),“DataSet1”)Mod 60
所以请我总结字段并避免空字段
答案 0 :(得分:0)
使用
iif (isnothing(attTime),"00:00", CDate(Fields!timeAtt.Value.ToString()).ToString("hh:mm"))
答案 1 :(得分:0)
![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>
&#13;
这是查询 =右(&#34; 0&#34;&amp; Sum(CInt(左(iif(isnothing(Fields!timeAtt.Value.ToString()),&#34; 00:00&#34;,CDate(Fields!timeAtt .Value.ToString())。ToString(&#34; hh:mm&#34;)),2)),&#34; DataSet1&#34;) + Floor(Sum(CInt(右)(CD(iif(isnothing(Fields!timeAtt.Value.ToString()),&#34; 00:00&#34;,CDate(Fields!timeAtt.Value.ToString())。 ToString(&#34; hh:mm&#34;))),2)),&#34; DataSet1&#34;)/ 60),2) &安培; &#34;:&#34; &安培;总和(CInt(右)(CD(i)(isnothing(Fields!timeAtt.Value.ToString()),&#34; 00:00&#34;,CDate(Fields!timeAtt.Value.ToString())。ToString(& #34; hh:mm&#34;))),2)),&#34; DataSet1&#34;)Mod 60
答案 2 :(得分:0)
如果您处理基础查询,这似乎会更简单。 这样行吗?
SELECT ISNULL(hoursAtt,'00:00:00') AS hoursAtt FROM attendanceTable