WINCC 读取ACCESS列的平均值的小数位。

数据都能读到。脚本如下:
Dim sqlaccess
Dim ri
Dim a1avg
ri = HMIRuntime.Tags("tian").Read
Set sqlaccess = HMIRuntime.Tags("sqlaccess")
Set a1avg = HMIRuntime.Tags("a1avg")
   sqlaccess.Write "select ID,ri,DAY,lngValue,lngValuea,lngValueb from wincc where day='"&ri&"' "
   a1avg.Write "select avg(lngValue),avg(lngvaluea) from wincc where day='"&ri&"' "
但平均值那句(最后一句)小数位数多。
更改为a1avg.Write "select convert(decimal(8,2),avg(lngValue)),avg(lngvaluea) from wincc where day='"&ri&"' "    平均值就读不出数据了
该如何写?

最佳答案

从语法来讲是没有任何问题的。

但Access数据库不一定支持Convert函数,你可以单独试一下,然后检查一下SQL语句的执行结果。

提问者对于答案的评价:
也许你说的是对的,用FORMAT函数解决了。
分享一下:
a1avg.Write "select format(avg(lngValue),''####.##''),format(avg(lngvaluea),''###.###'') from wincc where Day=''"&ri&"'' "

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc145025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月3日 上午12:15
下一篇 2017年6月3日 上午12:15

相关推荐