




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水泥生产工新员工考核试卷及答案
- 上海灯光秀施工方案审批
- 巡游出租汽车司机质量追溯知识考核试卷及答案
- 职业发展规划分析报告
- 钢结构库房制作施工方案
- 景点建筑方案设计图纸
- 武汉调岗咨询方案
- 建筑临时地面硬化方案设计
- 大学餐饮项目咨询方案
- 中国最好的建筑方案设计
- 2025网络设备购销合同文本
- 2024-2025学年南充市七年级下英语期末考试题(含答案和音频)
- 成都产业投资集团有限公司所属产业投资板块企业2025年招聘投资管理等岗位的考试参考试题及答案解析
- 乡镇综合行政执法队队长试用期满转正工作总结
- 2025天津医科大学眼科医院第三批招聘1人备考考试试题及答案解析
- 2025年法院书记员招聘考试笔试试题含答案
- 2025年北京市高考英语试卷真题(含答案解析)
- 医务科依法执业自查表
- 出售废旧物资证明 出售废料证明 回收证明
- 环境影响评价报告公示:兴丰填埋场沼气发电利用项目环评报告
- 三相异步电动机正反转控制
评论
0/150
提交评论