使用ADO通过ODBC连接Access数据库,连接部分已经畅通,写入一个表也可以实现了。但是目前读取部分出现了一些问题,请教一下达人。
语句如下:
Sub OnClick(Byval Item)
Dim objConnection
Dim strConnectionString
Dim strSQL
Dim objCommand
Dim oRs
Dim IDValue
strConnectionString="Provider=MSDASQL;DSN=WinCC_DATA;UID=;PWD=;"
IDValue= HMIRuntime.Tags("NO").Read
strSQL="select Stand,Stand_Gauge,Looper_Tension,Roll_Force,Thread_Speed,Roll_Gap from DATA where Ofs_Coil_No=" &IDValue
Set objConnection=CreateObject("ADODB.Connection")
objConnection.ConnectionString=strConnectionString
objConnection.Open
Set oRs = CreateObject("ADODB.Recordset")
Set objCommand=CreateObject("ADODB.Command")
With objCommand
.ActiveConnection=objConnection
.CommandText=strSQL
End With
HMIRuntime.Tags("F1").Write 7
Set oRs = objCommand.Execute
HMIRuntime.Tags("F1").Write oRs(0).Fields(0).value
HMIRuntime.Tags("a1").Write oRs(0).Fields(1).value
HMIRuntime.Tags("a2").Write oRs(0).Fields(2).value
HMIRuntime.Tags("a3").Write oRs(0).Fields(3).value
HMIRuntime.Tags("a4").Write oRs(0).Fields(4).value
HMIRuntime.Tags("a5").Write oRs(0).Fields(5).value
Set objCommand=Nothing
objConnection.Close
Set objConnection=Nothing
End Sub
其中,HMIRuntime.Tags("F1").Write 7这句话用来检测出现问题的语句,也就是说这句话以下就不通了,是oRs(0)这种格式不对还是Set oRs = objCommand.Execute这句话有问题呢?
前面select是一个表格,每行都包含stand,Stand_Gauge.....等项6项,一共有六行,所以读取起来逻辑上我有点混乱,不知道是按照原来的格式读如进去的还是按照stand,Stand_Gauge....一个一个读满的?
请教达人啊~