我在Databases里面 找到了用户归档的Tables表格,利用手动可以导出数据到EXCEL表格中去,请问哪个高手能在WINCC全局脚本中编程实现将SQL的值导出到EXCEL中.跪求解决.
最佳答案
1 使用DTS 数据转换服务导出数据库中数据(深入浅出西门子 Wincc v6)您可以通过网络定购该书。
2 使用ODBC
3 使用OLE DB(深入浅出西门子Wincc v6,使用OLE DB访问Wincc)
4使用自动化接口(excel ,access)
5 使用DDE,excel 和 wincc数据交换(启动DDE服务)
2 reads a value from the database and writes it in a WinCC tag.
Dim objConnection
Dim objCommand
Dim objRecordset
Dim strConnectionString
Dim strSQL
Dim lngValue
Dim lngCount
strConnectionString = "Provider=MSDASQL;DSN=SampleDSN;UID=;PWD=;"
strSQL = "select TagValue from WINCC_DATA where ID = 1"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.Open
Set objRecordset = CreateObject("ADODB.Recordset")
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.CommandText = strSQL
Set objRecordset = objCommand.Execute
lngCount = objRecordset.Fields.Count
If (lngCount>0) Then
objRecordset.movefirst
lngValue = objRecordset.Fields(0).Value
HMIRuntime.Tags("dbValue").Write lngValue
Else
HMIRuntime.Trace "Selection returned no fields" & vbNewLine
End If
Set objCommand = Nothing
objConnection.Close
Set objRecordset = Nothing
Set objConnection = Nothing
自己的例子:往Excel 里边写入数值。
Sub OnClick(ByVal Item)
Dim objExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.visible = True
objExcelApp.Workbooks.Open"E:\excel\ExcelExample.xls"
objExcelApp.Cells(4,3).value =ScreenItems("iofield").OutputValue
objExcelApp.ActiveWorkbook.Save
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp = Nothing
End Sub
提问者对于答案的评价:
谢谢你的回答,虽然不是你说的 呵呵.问题已经解决.
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc278695.html