已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在iFix中采用ODBC制作历史报表胡 俊上海海得控制系统公司 系统网络部具体步骤如下:Step 1:打开SCU中的Task Configuration,增加HTC.EXE和WSQLODC.EXE两个任务,并将它们设置成为后台运行状态;Step 2:启动iFix,点击工具栏上的按钮打开Historical Assign,添加所需监控的数据点,并设置历史数据的采样速度。Step 3:打开任务控制,查看是否已经启动HTC。Step 4:在GlobalsUser下面添加三个字符型(vtString)变量,分别命名为strStartTime, strEndTime 和 Interval。新建一幅画面,如图如示,在画面上布置3个DATALINK分别指向strStartTime, strEndTime 和 Interval,并设置成In place(即允许修改)。IntervalstrEndTimestrStartTimeStep 5:为画面上的各个按钮写代码,最好先将各按钮注册即将鼠标移到按钮上方,按右键弹出菜单,选择Edit Script。在VB Editor的工具菜单中的Reference(引用)中选中Microsoft Excel 9.0 Object Library和Microsoft ActiveX Data Objects,如下图所示。然后在各按钮的处理程序中添加相应代码。内容如下(可将下列代码直接COPY到你的VB编辑器中,覆盖因为注册产生的空代码):运行状态画面初始化Private Sub CFixPicture_Initialize()CommandButton1_ClickCommandButton2_Clickuser.Interval.CurrentValue = 00:00:30End Sub组态状态画面初始化Private Sub CFixPicture_InitializeConfigure()user.strEndTime.CurrentValue = 报表结束时间user.strStartTime.CurrentValue = 报表开始时间End Sub设当前时间为报表开始时间Private Sub CommandButton1_Click() Dim curTime As String curTime = Now Dim curmonth, curday, curhour, curminute, cursecond As String curmonth = IIf(Month(curTime) 10, 0 & Month(curTime), Month(curTime) curday = IIf(Day(curTime) 10, 0 & Day(curTime), Day(curTime) curhour = IIf(Hour(curTime) 10, 0 & Hour(curTime), Hour(curTime) curminute = IIf(Minute(curTime) 10, 0 & Minute(curTime), Minute(curTime) cursecond = IIf(Second(curTime) 10, 0 & Second(curTime), Second(curTime) user.strStartTime.CurrentValue = Year(curTime) & - & curmonth & - & curday _& & curhour & : & curminute & : & cursecondEnd Sub设当前时间为报表结束时间Private Sub CommandButton2_Click() Dim curTime As String curTime = Now Dim curmonth, curday, curhour, curminute, cursecond As String curmonth = IIf(Month(curTime) 10, 0 & Month(curTime), Month(curTime) curday = IIf(Day(curTime) 10, 0 & Day(curTime), Day(curTime) curhour = IIf(Hour(curTime) 10, 0 & Hour(curTime), Hour(curTime) curminute = IIf(Minute(curTime) 10, 0 & Minute(curTime), Minute(curTime) cursecond = IIf(Second(curTime) 10, 0 & Second(curTime), Second(curTime) user.strEndTime.CurrentValue = Year(curTime) & - & curmonth & - & curday & _& curhour & : & curminute & : & cursecondEnd Sub打印此前10分钟历史报表,只是设置时间值,打印仍要调用打印程序Private Sub CommandButton3_Click() Dim curTime As String curTime = Now Dim curmonth, curday, curhour, curminute, cursecond As String curmonth = IIf(Month(curTime) 10, 0 & Month(curTime), Month(curTime) curday = IIf(Day(curTime) 10, 0 & Day(curTime), Day(curTime) curhour = IIf(Hour(curTime) 10, 0 & Hour(curTime), Hour(curTime) curminute = IIf(Minute(DateAdd(n, -10, curTime) 10, 0 & _Minute(DateAdd(n, -10, curTime), Minute(DateAdd(n, -10, curTime) cursecond = IIf(Second(curTime) 10, 0 & Second(curTime), Second(curTime) user.strStartTime.CurrentValue = Year(curTime) & - & curmonth & - & curday & _ & curhour & : & curminute & : & cursecond curminute = IIf(Minute(curTime) 10, 0 & Minute(curTime), Minute(curTime) user.strEndTime.CurrentValue = Year(curTime) & - & curmonth & - & curday & _ & curhour & : & curminute & : & cursecondEnd Sub打印当天报表,只是设置时间值,打印仍要调用打印程序Private Sub CommandButton4_Click() Dim curTime As String curTime = Now Dim curmonth, curday, curhour, curminute, cursecond As String curmonth = IIf(Month(curTime) 10, 0 & Month(curTime), Month(curTime) curday = IIf(Day(curTime) 10, 0 & Day(curTime), Day(curTime) user.strStartTime.CurrentValue = Year(curTime) & - & curmonth & - & curday _& & 00:00:00 user.strEndTime.CurrentValue = Year(curTime) & - & curmonth & - & curday _& & 23:59:59End Sub打印当月报表,只是设置时间值,打印仍要调用打印程序Private Sub CommandButton5_Click() Dim curTime As String curTime = Now Dim curmonth, BeginofMonth, EndofMonth As String curmonth = IIf(Month(curTime) 0 and erval= + Interval + _ and (fix.datetime ts + strStartTime + ) and (fix.datetime ts _ + strEndTime + ) With cnADO .Open PROVIDER=MSDASQL;dsn=FIX Dynamics Real Time Data;uid=;pwd=; 本行为打开实时数据库,下一行为打开历史数据库。 .Open Provider=MSDASQL.1;Extended Properties=DSN=FIX Dynamics Historical Data;DBQ=;SERVER=NotTheServer .Execute SQL1 End With rsADO.Open SQL1, cnADO For i = 1 To rsADO.Fields.Count msexcel.Cells(2, i) = rsADO.Fields(i - 1).Name Next If rsADO.BOF Then msexcel.Quit Set msexcel = Nothing rsADO.Close cnADO.Close MsgBox 查询结果为空,请检查查询条件 Exit Sub Else rsADO.MoveFirst End If i = 3 While Not rsADO.EOF For j = 1 To rsADO.Fields.Count msexcel.Cells(i, j) = rsADO.Fields(j - 1) Next rsADO.MoveNext i = i + 1 Wendendandquit: rsADO.Close cnADO.Close保存和打印代码 With msexcel .Wait (Now() + 0.00012) .ActiveWorkbook.SaveAs e:saverep
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁夏海原县一中2026届生物高一第一学期期末预测试题含解析
- 河南濮阳建业国际学校2025-2026学年化学高一第一学期期中综合测试试题含解析
- 辽宁石油化工大学《幼儿钢琴弹唱》2024-2025学年第一学期期末试卷
- 互联网教育市场前景分析报告
- 复合土工膜膜层厚度试验记录
- 豫剧伴我成长作文
- 浅谈如何提高女生声腔演唱艺术
- 本科毕业论文评语模板3
- 【作文评语】本科毕业论文指导老师评语3
- RMI落基山研究所:2025年互联小电网:从飞行员到发电站报告(英文版)
- 2025年法宣在线宪法学习试题库和答案
- 移动式压力容器充装(R2)特种作业证考试题库(附答案)
- 家居护理创业计划
- 2025年贵州省综合评标专家库考试题库(二)
- 2025年宜昌市市级机关公开遴选考试真题
- GB 31975-2025呼吸防护压缩空气技术要求
- 低压电工作业 课件 15 作业现场应急处理
- 途虎养车加盟协议合同
- 青少年无人机基础飞行课件
- 林木砍伐合伙合同协议书
- 2025年上海市事业单位招聘考试教师招聘英语学科专业知识试题
评论
0/150
提交评论