组态王历史报警查询第一步创建KVADODBGrid控件,插入通用控件,在插入通用控件内选择KVADODBGridClass控件,如图定义控件属性在常规里面输入名字,与下边的按钮定义控件里与这里的名字相对应。定义名字选择连接报警存储的数据库。定义选择变量,注意在报表名称里面选择Alarm,在报警格式—数据库选项里面不能选择分月保存报警数据表,因为表名称里面选择了Alarm。若选择了分月保存报警数据表测每月生成一个报表名称就对应不起来了。编辑表格的大小时,首先按住Ctrl+Alt+O,不编辑了关闭当前画面就可以了第二步骤定义时间控件定义控件名字定义控件事件在CloseUp里面定义的控件脚本stringtemp;Ayear=ADate.Year;Amonth=ADate.Month;Aday=ADate.Day;temp=StrFromInt(Ayear,10);if(Amonth10)temp=temp+/0+StrFromInt(Amonth,10);elsetemp=temp+/+StrFromInt(Amonth,10);if(Aday10)temp=temp+/0+StrFromInt(ADay,10);elsetemp=temp+/+StrFromInt(ADay,10);\\本站点\选择日期=temp;第三步骤定义按钮弹起时stringwhe;whe=AlarmDate='+\\本站点\选择日期+';KV.Where=whe;KV.FetchData();KV.FetchEnd();注意特别注意:在报警配置属性里页里面—文件配置—报警格式里面报警日期、事件日期里选项一定要选择YYY/MM/DD格式不然读不出数据来。在报警配置属性里页里面—数据库配置—报警格式里面报警日期、事件日期里面选项一定要选择YYY/MM/DD格式不然读不出数据来。查询失败的原因就是时间格式不对,如2014/2/12保存的。时间段查询在第二个控件里输入:longyear2;longmonth2;longday2;year2=date2.Year;month2=date2.Month;day2=date2.Day;string查询结束时间;if(month210&&day210){查询结束时间=StrFromInt(year2,10)+/+0+StrFromInt(month2,10)+/+0+StrFromInt(day2,10);}if(month210&&day2=10){查询结束时间=StrFromInt(year2,10)+/+0+StrFromInt(month2,10)+/+StrFromInt(day2,10);}if(month2=10&&day210){查询结束时间=StrFromInt(year2,10)+/+StrFromInt(month2,10)+/+0+StrFromInt(day2,10);}if(month2=10&&day2=10){查询结束时间=StrFromInt(year2,10)+/+StrFromInt(month2,10)+/+StrFromInt(day2,10);}\\本站点\选择日期2=查询结束时间;按钮:KV.Where=AlarmDate='+\\本站点\选择日期+'andAlarmDate='+\\本站点\选择日期2+';KV.FetchData();KV.FetchEnd();