1、组态王数据统计与查询的制作过程数据统计与查询的制作过程利用Microsoft Access数据库和组态王的KVADODBGrid控件实现以暖气、冷气、供热水系统为例(5O,5P)软件版本:Microsoft Access 2010 组态王6.53 一、 建立Microsoft Access数据库文件1、 在我的电脑F盘中建立一个Microsoft Access数据库,命名为:5O AND 5P Database.accdb2、 双击打开“5O AND 5P Database.accdb”文件,选择“创建”“表”“表1”;右击“表1”,选择“重命名”,将“表1”命名为“数据采集”;右击“数据采集
2、”,选择“设计视图”,将相关的数据名写入字段,并选择相应的数据类型,完成后保存,退出;如图01图01二、 建立ODBC数据源选择windows“开始”菜单“控制面板”“管理工具”双击“数据源(ODBC)”,弹出“OBDC数据源管理器”(如图02)图02“系统DSN” “添加”;(如图03)图03弹出“创建新数据源”“Microsoft Access Driver(*.mdb, *.accdb)” “完成”;(如图04)图04弹出“ODBC Microsoft Access 安装”数据源名为“5O5P”“选择”,(如图05)图05弹出“选择数据库”驱动器“F盘”数据库名“5O AND 5P Da
3、tabase.accdb”“确定”。(如图06)图06三、建立组态王记录体打开组态王软件,弹出“工程管理器”,选择相应的工程名称,双击打开,弹出“工程浏览器”,选择工程浏览器左侧大纲项“SQL访问管理器文件记录体”,在工程浏览器右侧用鼠标左键双击“新建”图标;记录体名为“Bind”;输入字段名称,点击“?”,选择对应的变量,然后点击“增加字段”,(注:字段顺序需与数据库,表“数据采集”,字段顺序相同)如图07所示。图07四、 建立组态王命令语言打开组态王软件,弹出“工程管理器”,选择相应的工程名称,双击打开,弹出“工程浏览器”。1、 选择工程浏览器左侧大纲项“数据词典”,在数据词典里定义新变量
4、,变量名称:DeviceID,变量类型:内存整型(如图08)图082、 选择工程浏览器左侧大纲项“命令语言应用程序命令语言”,在工程浏览器右侧用鼠标左键双击“新建”图标;选择“启动时”选项,在空白处输入以下脚本,然后“确认”;(如图09)SQLConnect(DeviceID,dsn=5O5P;uid=;pwd=);enablenavigate(0);图09选择“停止时”选项,在空白处输入以下脚本,然后“确认”;(如图10)SQLDisconnect(DeviceID);图103、 选择工程浏览器左侧大纲项“命令语言数据改变命令语言”,在工程浏览器右侧用鼠标左键双击“新建”图标;数据改变命令语
5、言触发的条件为连接的变量或变量的域的值发生了变化。点击“?”,选择变量,在空白处输入以下脚本,然后“确认”;(如图11)图11五、 创建KVADODBGrid控件选择工程浏览器左侧大纲项“画面”,在工程浏览器右侧用鼠标左键双击“新建”图标;画面名称为“报表”单击工具箱中的“插入通用控件”按钮,或选择菜单命令“编辑插入通用控件”,则弹出“插入控件”对话框。在“插入控件”对话框内选择KVADODBGrid Class。用鼠标左键单击“确定”按钮,关闭对话框。(如图12)图12鼠标变成十字形。然后在画面上适当位置按下鼠标左键并进行拖动,画一个矩形框,放开鼠标左键,KVADODBGrid控件就放到画面
6、上了。可以任意移动、缩放控件,如同处理一个单元图素一样。(如图13)图13选择控件,单击右键,在弹出的菜单中选择“控件属性”。弹出控件属性对话框。选择数据源,点击“浏览”,弹出“数据连接属性”,在“提供程序”选项中,选择“Microsoft OLE DB Provider for ODBC Drivers”,然后“下一步”(如图14)图14定义“连接”属性,选择“使用数据源名称”,在下拉菜单中选择“5O5P”,然后“测试连接”,确定。(如图15)图15返回“控件属性”对话框,选择表名称“数据采集”,并将左边“有效字段”中的字段名称添加到右边“按此顺序显示”中;(如图16)(注:字段顺序需与数据
7、库,表“数据采集”,字段顺序相同)图16六、 建立查询时间段的数据1、 创建日历控件(Microsoft Date and Time Picker control)在工具箱上单击“插入通用控件”或选择菜单“编辑插入通用控件”命令。会弹出如图17所示的“插入控件”对话框。 图17 在对话框的列表中找到“Microsoft Date and Time Picker control”项,选中它,然后单击“确定”按钮,或直接鼠标双击该项。“插入控件”对话框自动关闭,按照本节开始所描述的方法在画面上创建控件。创建后的控件如图18所示。图182、 日历控件属性选中该控件,右击选择“控件属性”,弹出对话框。
8、(如图19)图193、 定义日历控件的功能A、选择工程浏览器左侧大纲项“数据词典”,在数据词典里定义新变量变量名称:开始日期,变量类型:内存字符串变量名称:结束日期,变量类型:内存字符串 B、将控件再复制一个,任意选择一个控件,然后双击鼠标,弹出对话框。在“常规”选项中,将控件名命名为:start ;另一个控件名为:end 。(如图20) 图20在“事件”选项中,选择事件“CloseUp”,并在相对应的关联函数列表单元双击。(如图21) 图21弹出“控件事件函数”对话框。图为控件名“start”事件函数,在“函数声明”中输入“CloseUp00()”在脚本编辑栏中输入以下脚本:(如图22)fl
9、oat Ayear;float Amonth;float Aday;string temp;Ayear=start.Year;Amonth=start.Month;Aday=start.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
10、);本站点开始日期=temp;图22弹出“控件事件函数”对话框。图为控件名“end”事件函数,在“函数声明”中输入“CloseUp01()”在脚本编辑栏中输入以下脚本:(如图23) float Ayear;float Amonth;float Aday;string temp;Ayear=end.Year;Amonth=end.Month;Aday=end.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; 图234、 创建查询按钮
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1