首页 上一页 1 2 3 下一页 尾页

怎么做iFix报表? 点击:11690 | 回复:55



常征

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 18回
  • 年度积分:0
  • 历史总积分:31
  • 注册:2006年8月28日
发表于:2006-09-05 09:06:00
楼主
那位高手能给小弟说一下用iFix做报表的具体步骤?
网上的例子我也看了下载下来就是两个文件(扩展名为.evs和.xls的文件)不知道怎么用,怎么设置调度文件,一头雾水!
谁做过iFix报表,有没有详细的文档教我怎么做,一步一步的做,给我发一份,非常感谢!
email:ch_zh_80@126.com



coralsweet

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 41回
  • 年度积分:0
  • 历史总积分:129
  • 注册:2005年3月08日
发表于:2006-09-05 09:43:00
1楼
搭船顺问,作报表有比较让人容易实现的方法,希望能告知,十分感谢

常征

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 18回
  • 年度积分:0
  • 历史总积分:31
  • 注册:2006年8月28日
发表于:2006-09-06 09:05:00
2楼
谁帮帮忙呀?

常征

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 18回
  • 年度积分:0
  • 历史总积分:31
  • 注册:2006年8月28日
发表于:2006-09-06 16:55:00
3楼
急!

常征

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 18回
  • 年度积分:0
  • 历史总积分:31
  • 注册:2006年8月28日
发表于:2006-09-07 13:26:00
4楼
谢谢gelic
我先下载看看

常征

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 18回
  • 年度积分:0
  • 历史总积分:31
  • 注册:2006年8月28日
发表于:2006-09-07 13:31:00
5楼
gelic:
  你好,你的iFix报表例子我之前就下载看过了,不能用呀,也许是我不会吧,你有详细的文档吗,给我发一份,我主要是不知道具体怎么做,谢谢。
email:ch_zh_80@126.com

MaHenggui

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 43回
  • 年度积分:0
  • 历史总积分:193
  • 注册:2006年7月28日
发表于:2006-09-08 16:58:00
6楼
具体的代码可参见:
Private Sub CommandButton1_Click()

    '注释:  1。该程序需要安装ADO 2.0目标库并在本机注册
    '       2。Microsoft ActiveX Data Objects 2.1 Library 必须被引用 (Office 2000)
    '       3。Microsoft Excel 9.0 object libraries 必须被引用 (Office 2000)
    '       4。划===处可根据具体报表修改
    
    Dim strQueryAvg As String

    Dim c As Integer
    Dim r As Integer
    Dim Intyexcel As Excel.Application
    
    Dim MyDate, MyMonth, MyDay, MyHour, MyMinute, MySecond
    Dim StartTime, EndTime, Duration, DisplayDay, DisplayMonth As String

    '++===================================================================
    '报表中的 TAG
    Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As String
    Dim Items As Integer
    
    Tag1 = "TEST"
    Tag2 = "TEST1"
    Tag3 = " "
    Tag4 = " "
    Tag5 = " "
    Tag6 = " "
    Tag7 = " "
    Tag8 = " "
    
    '从历史库中取得域项, 2 - DATATIME, VALUE, TAG 共三项
    Items = 2
    '--====================================================================
    
    MyDate = Format (Now() - 1, "yyyy-mm-dd")
    
    StartTime = & MyDate & " " & "00:00:00"
    EndTime = & MyDate & " " & "23:00:00"

    '++==========================================================================
    '查询,根据报表修改
    strQueryAvg = "Select DATETIME, VALUE, TAG FROM FIX " & _
        "WHERE MODE = 'AVERAGE' and (TAG='" & Tag1 & "' or TAG='" & Tag2 & "'" & _
        " or TAG='" & Tag3 & "' or TAG='" & Tag4 & "' or TAG='" & Tag5 & "'" & _
        " or TAG='" & Tag6 & "' or TAG='" & Tag7 & "' or TAG='" & Tag8 & "')" & _
        "and INTERVAL = '01:00:00' and " & _
        "(DATETIME >= {ts '" & StartTime & "'} and " & _
        "DATETIME <= {ts '" & EndTime & "'})"
    '--===========================================================================
    
    Dim cnADO As New ADODB.Connection
    Dim rsADO As Recordset
    
    Set cnADO = New ADODB.Connection
    cnADO.ConnectionString = "DSN = FIX Dynamics Historical Data; UID = sa; PWD = ;"
    cnADO.Open "FIX Dynamics Historical Data", "sa", ""

    Set rsADO = New ADODB.Recordset

    rsADO.Open strQueryAvg, cnADO, adOpenForwardOnly, adLockBatchOptimistic
    
    r = 1
    Set Intyexcel = New Excel.Application
    Intyexcel.Visible = False
    
    '++============================================================================
    '打开的报表文件名
    Dim OutReportFile As String
    Dim InReportFile As String
    
    InReportFile = "C:\Dynamics\App\HIST1"
    
    Intyexcel.Workbooks.Open InReportFile & ".XLS"
      
    Intyexcel.Sheets("Sheet2").Select
    Intyexcel.Columns("A:Z").Select
    Intyexcel.Selection.ClearContents
    Intyexcel.Range("A1").Select

    While rsADO.EOF <> True
        With Intyexcel.Worksheets(2)
            For c = 0 To Items
                If rsADO(c) <> "" Then .Cells(r, c + 1).Value = rsADO(c)
            Next c
            r = r + 1
            rsADO.MoveNext
        End With
    Wend
    
    Intyexcel.Sheets("Sheet1").Select

'    Intyexcel.ActiveSheet.PageSetup.Orientation = xlPortrait       'xlLandscape
'    Intyexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4
    Intyexcel.ActiveSheet.PrintOut
    Intyexcel.DisplayAlerts = False
    Intyexcel.ActiveWorkbook.Save
    OutReportFile = InReportFile & "_00" & MyMonth & MyDay
    Intyexcel.ActiveWorkbook.SaveAs OutReportFile
    
    Intyexcel.Quit
    Intyexcel.DisplayAlerts = True
    Set Intyexcel = Nothing
    Set cnADO = Nothing

End Sub

常征

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 18回
  • 年度积分:0
  • 历史总积分:31
  • 注册:2006年8月28日
发表于:2006-09-11 09:10:00
7楼
mahenggui:
    你说的是什么代码呀?把做好的发给我就行。
    ch_zh_80@126.com

M3300

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 141回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2006年2月24日
发表于:2006-09-18 16:30:00
8楼
请问,
"(DATETIME >= {ts '" & StartTime & "'} and " & _
        "DATETIME <= {ts '" & EndTime & "'})"
中DATETIME里面的 ts 表示什么意思?

杭州集益科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:65
  • 注册:2004年12月01日
发表于:2006-09-20 10:22:00
9楼
ts是一种日期格式,因为ifix不是关系型数据库,语法稍有不同的
---------------------
ifix4.0中文版下载地址:
http://www.jiyitech.com/DownloadShow.asp?ID=45

技术问题请教

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 52回
  • 年度积分:0
  • 历史总积分:88
  • 注册:2006年7月13日
发表于:2006-09-20 14:07:00
10楼
怎么做个报表也这么复杂呢?
我们公司的组态软件里面集成了水晶报表,使用起来很方便,
还有其他的非常好的功能,例如纯VB 脚本,还有数据库连接只需要控件操作就可以完成!
想要了解详细情况可以直接联系我,52560854,小郭

常征

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 18回
  • 年度积分:0
  • 历史总积分:31
  • 注册:2006年8月28日
发表于:2006-09-20 17:18:00
11楼

电话没有区号

M3300

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 141回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2006年2月24日
发表于:2006-09-25 09:18:00
12楼
谢谢各位指教,,目前已经可以连上ifix的历史库了,
但我发现通过历史库取数很慢啊??
楼上  gelic 的工具就很好用,可以直接读历史文件
但是软件要注册。。。。。

M3300

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 141回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2006年2月24日
发表于:2006-09-25 09:23:00
13楼
tony的站真是好地方~ 下载中。。。

萨那科长

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 129回
  • 年度积分:0
  • 历史总积分:137
  • 注册:2006年5月15日
发表于:2006-09-25 11:13:00
14楼
用vb的脚本和office的控件做一个excel的表格,数据定期记录到相应单元格。方便又实用。

昆仑摩勒

  • 精华:1帖
  • 求助:1帖
  • 帖子:32帖 | 446回
  • 年度积分:0
  • 历史总积分:1058
  • 注册:2004年11月22日
发表于:2006-09-25 15:58:00
15楼
在生成报表的时候出现"正在进行网络事务处理"的错误,不知哪位高手知道是什么原因,该怎样解决?

张道陵

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 88回
  • 年度积分:0
  • 历史总积分:92
  • 注册:2005年8月07日
发表于:2006-09-27 11:38:00
16楼
最简单的报表用EXCEL做,自己建一个报表的模板,在EXCEL的VBA里的WORKBOOK_OPEN事件里用DDE或OPC读取数据,写到模板中对应的地方,另存为html格式。在上位机中用事件调度或定时器隔段时间打开EXCEL模板就可以了。查看的时候在画面中加一个webbrowser控件,用它的navigate2属性就可以看了

刘志坚

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 187回
  • 年度积分:0
  • 历史总积分:568
  • 注册:2002年7月15日
发表于:2006-10-17 08:51:00
17楼
各位说的都是比较简单的报表方法,对于数据量大的报表以上方法都不能达到理想的效果,我用IFIX已经6年时间,IFIX的报表是比较难的一个问题,通过写VB脚本的方法可以实现任何想要的表格,但很复杂,我们已经在实际的工程中使用过。

彩玲

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 47回
  • 年度积分:0
  • 历史总积分:90
  • 注册:2005年8月11日
发表于:2006-10-17 18:44:00
18楼
INTOUCH报表怎么做

昆仑摩勒

  • 精华:1帖
  • 求助:1帖
  • 帖子:32帖 | 446回
  • 年度积分:0
  • 历史总积分:1058
  • 注册:2004年11月22日
发表于:2006-10-17 20:35:00
19楼
写VB脚本生成报表的速度也不够理想。。。。。。

刘志坚

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 187回
  • 年度积分:0
  • 历史总积分:568
  • 注册:2002年7月15日
发表于:2006-10-18 09:29:00
20楼
写VB脚本的报表速度是不错的,不能按照网上的那个将IFIX历史数据库导到EXCEL中的方法做,那个速度是非常慢的,而且也不方便报表,IFIX的报表一直是一个难点,目前我还没有看到过别人有很理想的解决方案。

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 3 下一页 尾页