如图表是从数据库中过滤后的表 我要把 IS_LACK 这一列值 分别给变量 a1,a2,a3,a4,a5,a6,a7,a8,a9 这个要怎么写
之前我是一个一个取的
Rst.open "SELECT IS_LACK FROM LIQUID_SHORT where CNC_ID = '010101A101' ",Cnn,2,2
'HMIRuntime.Tags("IS_LACK1").Write Rst("IS_LACK")
但这样写的后果就是 取一次要打开数据库一次 再关一次,在打开 再取下一个。
我是想 打开一次 数据表后 就把这9个值都赋给变量
最佳答案
关键在于查询语句。
你上传的图看不到,九个值都是IS_LACK字段吗?如果是的话,先将记录集指针移到第一条,取字段值,赋值给变量,然后移动指针到下一条,再取值,赋值,一直到记录集尾,结束循环。
Dim sTagName
Dim iCount
iCount=0
Rst.MoveFirst
Do While Not Rst.EOF
iCount=iCount+1
sTagName="IS_LACK" & CStr(iCount)
HMIRuntime.Tags(sTagName).Write Rst("IS_LACK")
Rst.MoveNext
Loop
Rst.Close
Set Rst = Nothing
Cnn.Close
Set Cnn = Nothing
提问者对于答案的评价:
真是太好用了,真是非常感谢。请问关于这些资料我应该去哪里学习
其中 Rst.MoveFirst
Do While Not Rst.EOF
Rst.MoveNext 这些我根本还不懂 我想找资料把他彻底看懂。
Rst.open "SELECT ROUTE_CODE,ROUTE_VER,OP_CODE,OP_SEQ FROM OP_INFO where OP_SEQ = 3",Cnn,2,2 像这句的 最后can 2 2我也看不懂
所以我现在都还是抄写别人代码的 自己还有很多不懂得地方,想找资料把他学习会。请高手指点 哪里可以下载这些资料
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc363669.html