各位好,
我现在写了段脚本VB的,在画面里用按钮触发这段脚本,MSHGRID可以显示出来我要的数据库里的数据,但是放在全局里用变量或者时间触发这个动作就不行。排除数据集出错,开始以为是全局不认画面里的控件,但是我写的什么列名称啊,列宽啊都实现了,也就是说全局里认的,而且都绑上了,后来以为是变量没触发,但是我在画面上直接把变量置0置1都设好了,还做了个IO域显示,变量也变化了啊,但是就是没显示。到底是什么原因呢?急急急!请斑竹各位帮忙!
下面是我的脚本:
Dim strcon,strsql,strsql1,temp
Dim objcon,objcmd,objrst
Dim ogrid
Dim syst
Dim sys1
Dim SNXX
syst=Now
sys1=Now-2
SNXX=HMIRuntime.Tags("SN").Read
strcon="driver={sql server};server=.\wincc;database=SCREW_CHERY"'提供数据库TEST地址'
strsql1="select * from SCREW_DATA where SYST >'"&sys1& "' And SYST<'"&syst&"' And SN="&SNXX&"_ order by SYST DESC"'按照时间选择排序'
Set objcon=CreateObject("ADODB.Connection")'建立ADODB连接'
objcon.connectionstring=strcon
objcon.open
Set objrst=CreateObject("ADODB.Recordset")
HMIRuntime.Trace strsql1 &vbCrLf
objrst.open strsql1,objcon
Set ogrid=HMIRuntime.Screens("C0").ScreenItems("HFGW")
Set ogrid.Recordset =objrst
ogrid.colwidth(0)=20
ogrid.colwidth(1)=2000
ogrid.colwidth(2)=900
ogrid.colwidth(3)=1000
ogrid.colwidth(4)=2000
ogrid.colwidth(5)=1300
ogrid.colwidth(6)=1300
ogrid.colwidth(7)=1300
ogrid.colwidth(8)=1300
ogrid.colwidth(9)=1300
ogrid.textarray(0)="类别"
ogrid.textarray(1)="时间"
ogrid.textarray(2)="站号"
ogrid.textarray(3)="参数号"
ogrid.textarray(4)="VIN码"
ogrid.textarray(5)="最大扭矩"
ogrid.textarray(6)="最终扭矩"
ogrid.textarray(7)="最终角度"
ogrid.textarray(8)="动作时间"
ogrid.textarray(9)= "综合判定"
ogrid.AllowUserResizing = 3
ogrid.Refresh
objrst.close
Set objrst=Nothing
objcon.close
Set objcon=Nothing