资源描述:
《wincc生成excel报表时,ors.movefirst这句停止运行》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、wincc生成excel报表时,oRs.MoveFirst这句停止运行wincc生成excel报表时,oRs.MoveFirst这句停止运行 在oRs.MoveFirst这句的前后加了: xlsApp.Cells(10,2).Value=6 MsgBox”Openwith1:”&m If(m>0)Then MsgBox”Openwith2:”&m oRs.MoveFirst MsgBox”Openwith3:”&m 运行时出了Openwith2:5。但是没出后一个Openwith3:;所以我判断是到oRs.MoveFirst停止运
2、行的。并且xls表上,也只在10B写了个6,其他地方都空着。 下面是源代码: SubOnClick(ByValItem) DimxlsApp DimsDsn DimsSer DimsCon DimsSql Dimconn DimoRs DimoCom DimsPro Dimm,n,s Dima,b,c sPro=“Provider=WinCCOLEDBProvider.1;” sDsn=“Catalog=CC_ceepc_cs_14_01_15_06_41_10R;” sSer=“DataSource=CEEPC-
3、33WINCC” sCon=sPro+sDsn+sSer sSql=“Tag:R,(“ProcessValueArchive氨气流量”;”ProcessValueArchive频率反馈2”),”2014-04-318:24:00.000”,”2014-04-320:28:00.000”“ MsgBox”Openwith:”&vbCr&sCon&vbCr&sSql&vbCr Setconn=CreateObject(“ADODB.Connection”) conn.ConnectionString=sCon conn.CursorL
4、ocation=3 conn.Open SetoRs=CreateObject(“ADODB.Recordset”) SetoCom=CreateObject(“ADODB.Command”) oCom.CommandType=1 SetoCom.ActiveConnection=conn oCom.CommandText=sSql SetoRs=oCom.Execute m=oRs.Fields.Count SetxlsApp=CreateObject(“Excel.Application”) xlsApp.Visible=
5、True xlsApp.Workbooks.Open”C:UsersAuserDesktopss.xls” xlsApp.Cells(10,2).Value=6 MsgBox”Openwith1:”&m If(m>0)Then MsgBox”Openwith2:”&m oRs.MoveFirst MsgBox”Openwith3:”&m n=1 MsgBox”Openwith4:”&m xlsApp.Cells(1,1).Value=oRs.Fields(0).Name xlsApp.Cells(1,2).Value=o
6、Rs.Fields(1).Name xlsApp.Cells(1,3).Value=oRs.Fields(2).Name xlsApp.Cells(1,4).Value=oRs.Fields(3).Name xlsApp.Cells(1,5).Value=oRs.Fields(4).Name DoWhileNotoRs.EOF n=n+1 xlsApp.Cells(n,1).Value=oRs.Fields(0).Value xlsApp.Cells(n,2).Value=oRs.Fields(1).Value xlsApp.Ce
7、lls(n,3).Value=FormatNumber(oRs.Fields(2).Value,2) xlsApp.Cells(n,4).Value=Hex(oRs.Fields(3).Value) xlsApp.Cells(n,5).Value=Hex(oRs.Fields(4).Value) oRs.MoveNext Loop xlsApp.ActiveWorkBook.Save xlsApp.Workbooks.Close xlsApp.Quit SetxlsApp=Nothing EndIf oRs.Close Se
8、toRs=Nothing conn.Close Setconn=Nothing EndSub 我对以上代码还有2个问题,帮忙