一种简单的组态王报表功能实现方法.docx
- 文档编号:18459284
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:7
- 大小:78.01KB
一种简单的组态王报表功能实现方法.docx
《一种简单的组态王报表功能实现方法.docx》由会员分享,可在线阅读,更多相关《一种简单的组态王报表功能实现方法.docx(7页珍藏版)》请在冰点文库上搜索。
一种简单的组态王报表功能实现方法
一种简单的组态王报表功能实现方法
2010年04月24日星期六15:
18
前段时间用组态王6.53做了一个小的画面组态,其中用到了KVADODBGrid控件来做报表,现总结如下。
一、准备工作
第一步:
在组态王工程管理器中新建一个项目,项目路径为D:
\实验项目。
第二步:
新建一个ACCESS数据库
1、在“D:
\实验项目”路径下新建一个MicrosoftOfficeAccess应用程序并命名为mydatabase.mdb;
2、打开“控制面板\管理工具\ODBC数据源管理器”选择“系统DSN”选项;
3、点击“添加”按钮创建新数据源,选择“MicrosoftAccessDriver(*.mdb)”;
4、在数据源名处填下“mydata”,并选择数据库路径为“D:
\实验项目\mydatabase.mdb”。
第三步:
创建表格模板
点击工程浏览器左侧的“SQL访问管理器”下的“表格模板”,新建一个表格并命名为Table。
在Table中添加所需记录的变量及日期参数,其中“日期”为定长字符串型,字符长度为10;其它诸如年、月、日、时、分则为浮点型,字符长度为1。
第四步:
创建记录体
点击工程浏览器左侧的“SQL访问管理器”下的“记录体”,新建一个表格并命名为Record,在Record中添加所需记录的变量及日期参数。
记录体用来定义Access数据表格字段与组态王变量之间的对应关系。
二、连接数据库
第一步:
在工程浏览器左侧的“数据库”下的“数据字典”中定义一个内存整型变量,并命名为ConnectID。
第二步:
创立组态王与mydata数据源的连接,并以“表格模板”Table的格式在数据库中建立名为“TheDate”的表格,命令如下:
SQLConnect(ConnectID,"dsn=mydata;uid=;pwd=");
SQLCreateTable(ConnectID,"TheDate","Table");
将上面两条命令填入“工程浏览器\命令语言\应用程序命令语言”下的“启动时”选项中。
第三步:
在工程浏览器左侧的“命令语言\事件命令语言”下新建一事件命令,在“事由描述”项内填下“\\本站点\$分==01”(每小时事件发生一次),在“发生时”框内填写
SQLInsert(connectionid,"TheDate","Record");//每小时向数据库保存一条记录。
三:
建立报表查询画面
新建一个画面,并在画面上添加一个日期控件作日期查询用;添加一个KVADODBGrid控件作报表显示用;添加三个按钮分别作查询、打印、退出用。
第一步:
添加KVADODBGrid控制
1.菜单栏\编辑\插入通用控件\KVADODBGridClass,双击添加的控件,并命名“控件名”为dayreport
2.在控件属性里的“数据源”选择前面定义的mydata、“表名称”选择TheDate,此时下面的“有郊字段”将出现你在记录体里面加入的数据,根据需要添加到右侧,并编辑好“标题”、“格式”等内容
3.根据需要可修改控件属性里面的“字体”、“打印设置”等
第二步:
添加时间控件
1.菜单栏\编辑\插入通用控件\MicrosoftDateandTimePickerControl6.0(SP4)
2.双击添加的控件,并命名“控件名”为DayreportSelect
3.根据需要可修改控件属性
第三步:
添加查询按钮
1.定义按钮的“命令语言连接”“按下时”为:
dayreport.RemoveAllData();
2.定义按钮的“命令语言连接”“弹起时”为:
(下列语言中“条件句”为内存字符串格式,在“数据词典”里面定义)
longa;
longb;
stringstr1;
stringstr2;
a=DayreportSelect.Month;
b=DayreportSelect.Day;
if(a<10)
str1="-0"+StrFromInt(DayreportSelect.Month,10);
else
str1="-"+StrFromInt(DayreportSelect.Month,10);
if(b<10)
str2="-0"+StrFromInt(DayreportSelect.Day,10);
else
str2="-"+StrFromInt(DayreportSelect.Day,10);
\\本站点\条件句=StrFromInt(DayreportSelect.Year,10)+str1+str2;
dayreport.Where="日期='"+\\本站点\条件句+"'orderby时";
dayreport.FetchData();
dayreport.FetchEnd();
注意:
在控制面板\区域和语言\自定义下,需定义短日期格式为“yyyy-MM-dd”样式,若不同,则上面命令代码的判断段需作相应修改。
第四步:
添加打印按钮
定义按钮的“命令语言连接”“弹起时”为:
dayreport.Print();
第五步:
添加退出按钮
总体效果图如下图所示:
总结:
这个报表用了组态王自带的控件KVADODBGrid,数据库用的是ACCESS,并用到了控件自带的SQL命令语言,总体实现起来较复杂,特别是报表所需内容较多时,需做的工作量比较的大,并且电子版的报表查看不方便。
下一步可以考虑用VB、Excel来实现报表功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 简单 组态 报表 功能 实现 方法
![提示](https://static.bingdoc.com/images/bang_tan.gif)