VBS操作数据库与控件

大家好,最近想做一个报表,大意是将归档的数据读取出来通过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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • 杭州海康威视的网络摄像头厂家提供SDK开发包,dll文件怎么注册

    SDK有个dll文件夹,里边有三个后缀为dll的东西,分别为DsSdk.dll;HCNetSDK.dll;Playm4.dll我注册了一下但是不能注册,是什么原因?没有.OCX的控…

    SIMATIC WinCC 2019年6月11日
  • 如何在WINCC画面中做变量的高低限报警?

    我想在WINCC画面中做变量的高限和低限报警,当达到高限或者低限时就会触发声音报警!这样就可以不用在PLC中做程序触发了!还望大侠们指教!希望能说具体点怎么做!谢谢! 最佳答案 用…

    SIMATIC WinCC 2019年6月11日
  • WINCC安装XP SP3

    系统是SP3的怎么安装WINCC啊,有没有补丁啊,系统是中文的,还有就是我在WINDOWS组件里面的队列消息也无法安装。求大侠们给小弟指点啊 问题补充:还有就是我的系统本来是SP3…

    SIMATIC WinCC 2019年6月11日
  • wincc脚本问题多个变量乘积

    大家好,现在又100多个变量,我做了100多个内部变量,想着实现,每个变量乘以10输入到外部变量里,在WINCC里应该怎么实现啊,单独的我知道,100多个难道要做100多个小脚本吗…

    SIMATIC WinCC 2019年6月11日
  • WinCC变量归档时变量无法建立数据连接

    WinCC V7.4 SP1,购买了512点的许可证,这个问题应该不是授权的问题吧,我看手册说默认可以采集512个变量的归档,我现在只需要采集4个变量,而且这些…

    SIMATIC WinCC 2020年11月1日
  • wincc在线趋势为什么总显示零

    wincc在线趋势为什么总显示零 最佳答案 问题描述尽量详细点,能附图更好,这样只能猜。1、变量地址错误?2、变量记录未添加?3、实际数值就是零? 提问者对于答案的评价:确实是 最…

    SIMATIC WinCC 2021年7月5日
  • VBS脚本执行

    我现在利用全局脚本,500毫秒触发一次。外部变量A每500秒加1一次,不知道为什么对?执行是从右到左的。先赋值给tag1.然后tag1自加1,为什么tag1.write …

    2021年7月5日
  • 不知道wincc里用VB里的ListView控件怎么显示数据

    主要就是,在VB工程里,控件本身的很好操作,不知道在wincc的VBS脚本里,是不是也像在VB工程那样操作。 自己试的结果是没成功。明天接着做呵呵!! 最佳答案 List…

    SIMATIC WinCC 2019年6月11日
  • wincc c语言脚本的问题

    开关起停防止误操作,中间加个确认取消键,因为有100多个启停,所以我不想再做100多个小画面,想用C语言实现,就是那种把变量写到内部变量中,然后把内部变量置位复位,例如,setta…

    SIMATIC WinCC 2019年6月11日
  • WINCC单个画面操作很慢

    PCS7 8.0有个SERVER有一张画面上的数据读取的慢,操作也慢,调曲线要20多S,操作变频器也需20多S,其他画面运行正常 问题补充:问题描述有误,是一个项目里有有…

    SIMATIC WinCC 2021年7月5日