求助组态王报表问题出在哪 点击:2716 | 回复:11



黄家磊

    
  • 精华:0帖
  • 求助:29帖
  • 帖子:35帖 | 80回
  • 年度积分:0
  • 历史总积分:177
  • 注册:2015年8月01日
发表于:2016-12-13 20:37:48
楼主
求助帖20分-未结帖

借用组态王日报表脚本模板,改写如下,目的实现数据每天一记录,测试时人为修改变量值,人为修改计算机系统时间日期,发现问题,日期选择当天如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;

       }





小流星

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 34回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2004年3月31日
发表于:2016-12-15 15:10:32
1楼

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

爱海无涯

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 17回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2016年12月04日
发表于:2016-12-15 23:02:38
2楼

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

黄家磊

  • 精华:0帖
  • 求助:29帖
  • 帖子:35帖 | 80回
  • 年度积分:0
  • 历史总积分:177
  • 注册:2015年8月01日
发表于:2016-12-18 20:05:52
3楼

那该怎处理呢前辈?我把Ayear,Amonth,Aday,8,0,0改成了Ayear,Amonth,Aday,$时,$分,$秒,倒是可以了,但是有个问题就是报表生的时间大约20S,应该如何缩短。求指点,15318853780,我给您回过去。

回复内容:

对: 爱海无涯 这明明是通过日历,查询某天数据,按8:00:00,9:... 

爱海无涯

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 17回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2016年12月04日
发表于:2016-12-18 21:23:02
4楼

回复内容:

对:黄家磊 那该怎处理呢前辈?我把Ayear,Amonth,Aday,8,0,0改成了Ayear,Amonth,Aday,$时,$分,$秒,倒是可以了,但是有个问题就是报表生的时间大约20S,应该如何缩短。求指点,15318853780,我给您回过去。回复内容:对: 爱海无涯 这明明是通过日历,查询某天数据,按8:00:00,9:...      内容的回复:

写在日历事件,closeup里的吧,正常应该会立马生成的,,是过20秒全部一起出来,还是一个一个总共20秒啊

黄家磊

  • 精华:0帖
  • 求助:29帖
  • 帖子:35帖 | 80回
  • 年度积分:0
  • 历史总积分:177
  • 注册:2015年8月01日
发表于:2016-12-19 10:59:30
5楼


回复内容:

对: 爱海无涯 回复内容:对:黄家磊 那该怎处理呢前辈?我把Ayear... 内容的回复!

现在缩短至150行9列后,时间是10S,报表全部一起出来。感觉还是长

爱海无涯

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 17回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2016年12月04日
发表于:2016-12-19 12:00:13
6楼

回复内容:

对:黄家磊 回复内容:对: 爱海无涯 回复内容:对:黄家磊 那该怎处理呢前辈?我把Ayear... 内容的回复!现在缩短至150行9列后,时间是10S,报表全部一起出来。感觉还是长     内容的回复:

我刚测试正常的,,选择前一天,数据后移一格,选择后一天,数据前移一格,,,是不是你行太多了,,估计你也就10行,25列够用了

爱海无涯

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 17回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2016年12月04日
发表于:2016-12-19 15:05:41
7楼

回复内容:

对:爱海无涯 回复内容:对:黄家磊 回复内容:对: 爱海无涯 回复内容:对:黄家磊 那该怎处理呢前辈?我把Ayear... 内容的回复!现在缩短至150行9列后,时间是10S,报表全部一起出来。感觉还是长     内容的回复:我刚测试正常的,,选择前一天,数据后移一格,选择后一天,数据前移一格,,,是不是你行太多了,,估计你也就10行,25列够用了     内容的回复:

我试的是查询一天的,,一小时间隔3600,,设成86400,一天间隔不行,,,你还是用reportsetdate2吧,弹出列表选择起始结束时间,间隔86400

黄家磊

  • 精华:0帖
  • 求助:29帖
  • 帖子:35帖 | 80回
  • 年度积分:0
  • 历史总积分:177
  • 注册:2015年8月01日
发表于:2016-12-23 17:41:47
8楼


回复内容:

对: 爱海无涯 回复内容:对:爱海无涯 回复内容:对:黄家磊 回复内容... 内容的回复!

嗯好前辈,我试用reportsetdate2试下


6610

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 160回
  • 年度积分:4
  • 历史总积分:194
  • 注册:2016年7月03日
发表于:2018-03-19 16:44:45
9楼

你好 向你请教一下 我也写了这个函数 怎么出现  Adate.year  未定义呀


技术曲工

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 25回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2015年7月10日
发表于:2019-06-06 16:52:08
10楼

希望有机会大家合作看看

QQ图片20190604094136.png

赵伟东

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 36回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2005年7月13日
发表于:2020-01-20 21:12:54
11楼

谢谢楼主的分享!多多学习。


热门招聘
相关主题

官方公众号

智造工程师