


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一种简单的组态王报表功能实现方法2010年04月24日星期六 15:18前段时间用组态王6.53做了一个小的画面组态,其中用到了KVADODBGrid控件来做报表,现总结如下。一、准备工作第一步:在组态王工程管理器中新建一个项目,项目路径为D:实验项目。第二步:新建一个ACCESS数据库1、在“D:实验项目”路径下新建一个 Microsoft Office Access 应用程序并命名为mydatabase.mdb;2、打开“控制面板管理工具ODBC数据源管理器”选择“系统DSN”选项;3、点击“添加”按钮创建新数据源,选择“Microsoft Access Driver(*.mdb)”;4、
2、在数据源名处填下“mydata”,并选择数据库路径为“D:实验项目mydatabase.mdb”。第三步:创建表格模板点击工程浏览器左侧的“SQL访问管理器”下的“表格模板”,新建一个表格并命名为Table。在Table中添加所需记录的变量及日期参数,其中“日期”为定长字符串型,字符长度为10;其它诸如年、月、日、时、分则为浮点型,字符长度为1。第四步:创建记录体点击工程浏览器左侧的“SQL访问管理器”下的“记录体”,新建一个表格并命名为Record,在Record中添加所需记录的变量及日期参数。记录体用来定义Access数据表格字段与组态王变量之间的对应关系。二、连接数据库第一步:在工程浏览
3、器左侧的“数据库”下的“数据字典”中定义一个内存整型变量,并命名为ConnectID。第二步:创立组态王与mydata数据源的连接,并以“表格模板”Table的格式在数据库中建立名为“TheDate”的表格,命令如下:SQLConnect( ConnectID, dsn=mydata;uid=;pwd=);SQLCreateTable(ConnectID, TheDate, Table );将上面两条命令填入“工程浏览器命令语言应用程序命令语言”下的“启动时”选项中。第三步:在工程浏览器左侧的“命令语言事件命令语言”下新建一事件命令,在“事由描述”项内填下“本站点$分=01”(每小时事件发生一
4、次即分变量每次为一,计算了60分钟),在“发生时”框内填写SQLInsert(connectionid, TheDate, Record);/每小时向数据库保存一条记录。三:建立报表查询画面新建一个画面,并在画面上添加一个日期控件作日期查询用;添加一个KVADODBGrid控件作报表显示用;添加三个按钮分别作查询、打印、退出用。第一步:添加KVADODBGrid控制1菜单栏编辑插入通用控件KVADODBGrid Class,双击添加的控件,并命名“控件名”为dayreport2在控件属性里的“数据源”选择前面定义的mydata、“表名称”选择TheDate,此时下面的“有郊字段”将出现你在记录
5、体里面加入的数据,根据需要添加到右侧,并编辑好“标题”、“格式”等内容3根据需要可修改控件属性里面的“字体”、“打印设置”等第二步:添加时间控件1菜单栏编辑插入通用控件Microsoft Date and Time Picker Control 6.0(SP4)2双击添加的控件,并命名“控件名”为DayreportSelect3根据需要可修改控件属性第三步:添加查询按钮1定义按钮的“命令语言连接”“按下时”为:dayreport.RemoveAllData();(RemoveAll RemoveAll 方法 描述RemoveAll 方法从 Dictionary 对象中删除所有关键字和条目对。语
6、法object.RemoveAllobject始终是一个 Dictionary 对象的名字。说明下面的代码举例说明了 RemoveAll 方法的用法:Dim a, d, i 创建一些变量Set d = CreateObject(Scripting.Dictionary)d.Add a, Athens 添加一些关键字和条目d.Add b, Belgraded.Add c, Cairo.a = d.RemoveAll 清除字典 VC: CARRAY类下的操作函数,功能:删除该数组中的所有指针。从该数组中删除所有指针,但并不真正的删除CObject对象。RemoveAll 函数将释放所有用于指针存储
7、所占用的内存。)2定义按钮的“命令语言连接”“弹起时”为:(下列语言中“条件句”为内存字符串格式,在“数据词典”里面定义)long a;long b;string str1;string str2;a=DayreportSelect.Month;(指针命令,控件DayrepotSelect中的Month变量)b=DayreportSelect.Day;if (a10)str1=-0 StrFromInt( DayreportSelect.Month, 10 );elsestr1=- StrFromInt( DayreportSelect.Month, 10 );if (b10)str2=-0
8、StrFromInt( DayreportSelect.Day, 10 );elsestr2=- StrFromInt( DayreportSelect.Day, 10 );本站点条件句=StrFromInt( DayreportSelect.Year, 10 ) str1 str2;dayreport.Where=日期= 本站点条件句 order by 时;dayreport.FetchData();dayreport.FetchEnd();注意:在控制面板区域和语言自定义下,需定义短日期格式为“yyyy-MM-dd”样式,若不同,则上面命令代码的判断段需作相应修改。第四步:添加打印按钮定义按钮的“命令语言连接”“弹起时”为:dayreport.Print();第五步:添加退出按钮总体效果图如下图所示:总结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年三亚市直属学校赴高校面向2025年应届毕业生招聘81人考前自测高频考点模拟试题及答案详解(历年真题)
- 江西省吉安市七校联考2025-2026学年高三上学期10月月考生物试题(含答案)1
- 2025广东清远市英德市招聘教师222人考前自测高频考点模拟试题及答案详解(有一套)
- 2025年黄山市中心血站招聘医学检验人员1人考前自测高频考点模拟试题带答案详解
- 安全培训落实汇报材料课件
- 2025甘肃科源电力有限公司高校毕业生招聘40人考前自测高频考点模拟试题附答案详解
- 涂料厂区安全知识培训课件
- 安全培训胡玉玺课件
- 2025黑龙江绥化海伦市民政服务站招聘46人模拟试卷及答案详解(夺冠系列)
- 2025河北石家庄循环化工园区医院招聘10人模拟试卷附答案详解(典型题)
- 安全强安考试题及答案
- 2026秋季国家管网集团东北公司高校毕业生招聘笔试备考试题及答案解析
- 2025年10.13日少先队建队日主题班会课件薪火相传强国有我
- 2025小学关于教育领域不正之风和腐败问题专项整治工作方案
- 2025年工会社会工作者招聘笔试模拟试题库及答案
- 家乡的变化课件
- 2025年甘肃省武威市凉州区发放镇招聘专业化管理大学生村文书备考考试题库附答案解析
- 2024年成人高等考试《政治》(专升本)试题真题及答案
- 暖通施工工程方案(3篇)
- 消化内科常见疾病诊疗标准与流程
- 农作物土地租赁合同5篇
评论
0/150
提交评论