WINCC读取ACESS数据库问题

已锁定

Nero_9527

  • 帖子

    6
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2010-07-23

普通 普通 如何晋级?

WINCC读取ACESS数据库问题

548

1

2014-08-27 08:45:37

WINCC上层通过全局脚本已经将数据写入ACESS数据库,数据库的表里面有5条记录,时间是2014-8-18到2014-8-23.然后我在画面用一个按钮来读取该数据库的内容写入EXCEL,不管我怎么变换查询条件,只能读取到该数据库的第一条记录(即2014-8-18的那条记录,后面都查不到了),按钮脚本:
Dim objConnection
Dim objCommand
Dim objRecordset
Dim strConnectionString
Dim strSQL
Dim lngValue
Dim lngCount
Dim i,b1,b2
Dim starttime
Dim endtime
Dim t1
Dim t2
Set starttime=ScreenItems("控件2")
Set endtime=ScreenItems("控件4")
't1=FormatDateTime(starttime.value, 2)
't2=FormatDateTime(endtime.value, 2)
'Set b1=HMIRuntime.Tags("S1")
'b1.Write 10
'Set b2=HMIRuntime.Tags("E1")
'b2.Write 20
HMIRuntime.Tags("S1").Write FormatDateTime(starttime.value, 2)
HMIRuntime.Tags("E1").Write FormatDateTime(endtime.value, 2)
strConnectionString = "Provider=MSDASQL;DSN=WINCCDSN;UID=;PWD=;"
'strSQL = "select * from dayrpt where rq between #"&FormatDateTime(starttime.value, 2)&"# and #"&FormatDateTime(endtime.value, 2)&"#"
strSQL = "select * from dayrpt where rq between #2014-8-1# and #2014-8-31#"
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
MsgBox "成功读取到数据"
HMIRuntime.Tags("L1").Write lngCount
Dim objExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible =True
objExcelApp.Workbooks.Open "D:\abc\热风炉数据报表.xls"
objRecordset.movefirst
For i=1 To lngCount
objExcelApp.Cells(i+2, 1).Value = objRecordset.Fields(1).Value
objExcelApp.Cells(i+2, 2).Value = objRecordset.Fields(2).Value
objExcelApp.Cells(i+2, 3).Value = objRecordset.Fields(3).Value
objExcelApp.Cells(i+2, 4).Value = objRecordset.Fields(4).Value
objExcelApp.Cells(i+2, 5).Value = objRecordset.Fields(5).Value
objExcelApp.Cells(i+2, 7).Value = objRecordset.Fields(6).Value
objExcelApp.Cells(i+2, 8).Value = objRecordset.Fields(7).Value
objExcelApp.Cells(i+2, 9).Value = objRecordset.Fields(8).Value
objExcelApp.Cells(i+2, 10).Value = objRecordset.Fields(9).Value
objExcelApp.Cells(i+2, 11).Value = objRecordset.Fields(10).Value
objExcelApp.Cells(i+2, 12).Value = objRecordset.Fields(11).Value
objRecordset.movenext
Next
'lngValue = objRecordset.Fields(2).Value
'HMIRuntime.Tags("CCCC").Write lngValue
Else
HMIRuntime.Trace "Selection returned no fields" & vbNewLine
HMIRuntime.Tags("L1").Write 0
End If
'objExcelApp.ActiveWorkbook.Save
objExcelApp.Workbooks.Close
'objExcelApp.Visible =True
objExcelApp.Quit
Set objExcelApp = Nothing
Set objCommand = Nothing
objConnection.Close
Set objRecordset = Nothing
Set objConnection = Nothing
WINCC读取ACESS数据库问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32575条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。