大家好,最近想做一个报表,大意是将归档的数据读取出来通过MSFlexGrid显示出来。(事件触发即显示出来),希望大家指点指点,资料越详细越好。有例程也行。
谢谢!
最佳答案
要是你想选择自己用vbs实现这个要求,需要弄清楚三个问题:
1、怎么用vbs连接数据库
2、怎么查询变量归档
3、怎么用vbs操作控件
第一个问题主要是写好连接字符串,可以看书或者在网上搜教程,很简单。
第一个问题和第二个问题,可以看下载中心的文档A0579
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0579
第三个问题网上也有不少,可以看看控件的方法的注释,但是一般的对控件操作分两种,一是调整控件格式,二是读写数据。
如果表格格式固定,可以直接编辑属性,不用写代码,如果是动态的格式,常用的属性可以参考我下面的代码。
读写操作就是一句话,就是ADO回来的数写进表格。
GName.TextMatrix(行号,列好) = adoRecordset("字段").value
表格调整:
dim GName
set GName = HMIRuntime.screen(画面名).Screenitems(表格名)
dim Fstring
Fstring = “列标题1|列标题2|列标题3”
GName.AllowUserResizing = 1
GName.ScrollBars = 2 ''有无滚动条,横1竖2无0全3
GName.ScrollTrack = True ''滚动条随着改变还是结束后改变,true为随着变
Dim rNum
Dim ii
rNum = 1
For ii = 1 To Len(FString) Step 1
If Mid (FString,ii,1) = "|" Then
rNum = rNum + 1
End If
Next
GName.Cols = rNum ''列数
GName.Rows = RowsNum ''行数
GName.FormatString = Fstring ''列写列标题
GName.FixedRows = 1 ''固定行数
GName.FixedCols = 0 ''固定列数
GName.WordWrap = True ''允许自动换行
GName.ColAlignment = 4 ''非固定单元格的对齐方式,居中
GName.ColAlignmentFixed = 4 ''固定单元格的对齐方式,居中
提问者对于答案的评价:
谢谢了,我再研究一下
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263623.html