您的位置:控制工程论坛网论坛 » 自动化软件 » 求助组态王报表问题出在哪

xuwenbin

xuwenbin   |   当前状态:在线

总积分:4115  2024年可用积分:0

注册时间: 2007-06-08

最后登录时间: 2023-08-16

空间 发短消息加为好友

求助组态王报表问题出在哪

xuwenbin  发表于 2017/8/21 15:36:38      1886 查看 3 回复  [上一主题]  [下一主题]

手机阅读

借用组态王日报表脚本模板,改写如下,目的实现数据每天一记录,测试时人为修改变量值,人为修改计算机系统时间日期,发现问题,日期选择当天如2017/1/15,数据正确,而后选择2017/1/14,发现14号正常,15号的变错了,再往前选择13号13号正常,14,15,都变了12,如图,请问什么原因造成。

float Ayear;

float Amonth;

float Aday;

long x;

long y;

long Col;

long StartTime;

string temp;

Ayear=ADate.Year;

Amonth=ADate.Month;

Aday=ADate.Day;

temp=StrFromInt( Ayear, 10 );

if(Amonth<10)

temp=temp+"-0"+StrFromInt( Amonth, 10 );

else

temp=temp+"-"+StrFromInt( Amonth, 10 );

if(Aday<10)

temp=temp+"-0"+StrFromInt( Aday, 10 );

else

temp=temp+"-"+StrFromInt( Aday, 10 );

\\本站点\选择日期=temp;

ReportSetCellString2("Report1", 3, 2, 7, 16, " "); //清空单元格

//ReportSetCellString("Report1", 2, 2, temp);//填写日期,封存,没必要保留

//查询数据

StartTime=HTConvertTime(Ayear,Amonth,Aday,8,0,0);

ReportSetHistData("Report1", "\\本站点\[A]201", StartTime, 86400, "B3:P3");//每天记录一次

ReportSetHistData("Report1", "\\本站点\[A]202", StartTime, 86400, "B4:P4");

ReportSetHistData("Report1", "\\本站点\[A]203", StartTime, 86400, "B5:P5");

ReportSetHistData("Report1", "\\本站点\[A]204", StartTime, 86400, "B6:P6");

ReportSetHistData("Report1", "\\本站点\[A]205", StartTime, 86400, "B7:P7");

//填写时间

x=0;//定义为列号

       while(x<16)//小于表格总列数,即要求的15天

       {

       Col=2+x;//第一列被占用

       y=StartTime+x*86400;

       temp=StrFromTime( y, 1 );//按控制面板日期显示

       ReportSetCellString("Report1", 2, Col, temp);//此处修改liu2016.12.8,将日期填制第一行每一列

       x=x+1;

       }


1楼 0 0 回复
  • a1123

    a1123   |   当前状态:在线

    总积分:5620  2024年可用积分:0

    注册时间: 2013-06-20

    最后登录时间: 2023-08-11

    空间 发短消息加为好友

    a1123   发表于 2017/8/22 9:11:48

    不一定是报表原因,有可能是你数据记录时间的问题,先看看数据源

    2楼 回复本楼

    引用 a1123 2017/8/22 9:11:48 发表于2楼的内容

  • swy

    swy   |   当前状态:在线

    总积分:8597  2024年可用积分:2

    注册时间: 2006-08-05

    最后登录时间: 2023-08-21

    空间 发短消息加为好友

    swy   发表于 2017/8/22 11:41:15

    这明明是通过日历,查询某天数据,按8:00:00,9:00:00一直到23:00:00,还记录个毛,程序没毛病

    3楼 回复本楼

    引用 swy 2017/8/22 11:41:15 发表于3楼的内容

  • jijun

    jijun   |   当前状态:在线

    总积分:5845  2024年可用积分:3

    注册时间: 2007-09-24

    最后登录时间: 2023-08-18

    空间 发短消息加为好友

    jijun   发表于 2017/8/26 7:26:57

    选择前一天,数据后移一格,选择后一天,数据前移一格,,,是不是你行太多了,,估计你也就10行,25列够用了

    4楼 回复本楼

    引用 jijun 2017/8/26 7:26:57 发表于4楼的内容

总共 , 当前 /