kleif

更新时间:2023-01-04 10:33:06 阅读: 评论:0


2023年1月4日发(作者:初级英语学习)

1全局脚本

在全局脚本里建立起与数据库的连接,通过定时整点触发脚本,把变量写到

数据库。WINCC里全局脚本触发定时器设定是每小时整点触发。

OptionExplicit变量声明

Functionaction功能操作

Dimdataba定义数据库

Dimstrcn,cn

Dimis_SQL

Dimriqi

Dimyali,wendu,liuliang,zhongliang,dianya,sudu定义压力、温度、、、、

DimDateTime定义日期时间

riqi=Now

Setyali=("yali")人机界面运行时间标签

Setwendu=("wendu")

Setliuliang=("liuliang")

Setzhongliang=("zhongliang")

Setdianya=("dianya")

Setsudu=("sudu")

strcn="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurity

Info=Fal;InitialCatalog=baobiao1;DataSource=.wincc"

Setcn=CreateObject("tion")

tionString=strcn

is_SQL="inrtintoribao(riqi,yali,wendu,liuliang,zhongliang,dianya,sudu)

Values('"&riqi&"','"&&"','"&&"','"&

&"','"&&"','"&&"','"&&"')"

eis_SQL

EndFuncti

2查询按钮

SubOnClick(ByValItem)

Dimi,n,k,n1,a1,b1,c1,d1,e1,f1

DimMSFlexGrid1

DimSql,oCom,conn,sql1,oCom1

Dimj,b,z

Dimylp,wdp,llp,ylx,wdx,llx,yld,wdd,lld

Dimzlp,dyp,sdp,zlx,dyx,sdx,zld,dyd,sdd

【压力、温度、流量、重力、电压、速度的平均值、最小值、最大值】

Dimstrcn,cn

Dima,shi,t,x

DimoRs,oRs1

DimText2

DimBeginDate开始日期

DimEndDate结束日期

DimBy,Bm,Bd定义开始年月日

DimNy,Nm,Nd,c,e,f定义结束年月日

DimDate1,Date2

【定义函数命令:

SetText2=ScreenItems("Text2")

SetDate1=ScreenItems("Date1")

SetDate2=ScreenItems("Date2")

SetMSFlexGrid1=ScreenItems("MSFlexGrid1")

【ScreenItems为画面对象集合,把定义的函数与画面中的控件进行映射

By=Year()

Bm=Month()

Bd=Day()【BYBMBD为date1的年月日定义,B为begin开始时间】

Ny=Year()

Nm=Month()

Nd=Day()【NYNMND为date2的年月日定义,N的end结束时间】

BeginDate=By&"-"&Bm&"-"&Bd&""&"00:00:00"

EndDate=Ny&"-"&Nm&"-"&Nd&""&"23:59:59"

e=By&"-"&Bm&"-"&Bd

f=Ny&"-"&Nm&"-"&Nd

IfBy>NyOrBy=NyAndBm>NmOrBy=NyAndBm=NmAndBd>NdThen

MsgBox"输入的时间不正确",vbOK,"错误的起始时间"【MsgBox为弹出的对话框控件】

EndIf

'以上程序为日期查询

2.1'建立连接

Sql="SELECTCONVERT(char(19),riqi,20)ASriqi,yali,wendu,liuliang,

zhongliang,dianya,suduFROMribaoWHEREriqiBETWEEN'"&BeginDate&"'and'"

&EndDate&"'ORDERBYriqi"

【CONVERT在SQL(结构化语言)中的一个系统函数

一般用法

convert函数用来转换数据类型

例子:SELECTCONVERT(VARCHAR(5),12345)

返回:字符串'12345'

/sql/sql_】

sql1="lectavg(yali)asylp,avg(wendu)aswdp,avg(liuliang)as

llp,avg(zhongliang)aszlp,avg(dianya)asdyp,avg(sudu)assdp,min(yali)as

ylx,min(wendu)aswdx,min(liuliang)Asllx,min(zhongliang)Aszlx,min(dianya)As

dyx,min(sudu)Assdx,max(yali)Asyld,max(wendu)Aswdd,max(liuliang)As

lld,max(zhongliang)Aszld,max(dianya)Asdyd,max(sudu)Assddfromribaowhereriqi

between'"&BeginDate&"'and'"&EndDate&"'"

【/sql/sql_func_】

strcn="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;Persist

SecurityInfo=Fal;InitialCatalog=baobiao1;DataSource=.wincc"

Setconn=CreateObject("tion")

tionString=strcn

Location=3

'使用命令文本查询

SetoRs=CreateObject("t")

SetoCom=CreateObject("d")

dType=1

Connection=conn

dText=Sql

SetoRs=e

n=Count【RecordCount指示Recordt对象中记录的当前数目】

=n【Text2为日报表中静态文本的查询到的记录数的文本内容为n】

SetoCom1=CreateObject("d")

dType=1

Connection=conn

dText=sql1

SetoRs1=e

n1=Count

ylp=oRs1("ylp"):wdp=oRs1("wdp"):llp=oRs1("llp"):ylx=oRs1("ylx"):wdx=

oRs1("wdx"):llx=oRs1("llx"):yld=oRs1("yld"):wdd=oRs1("wdd"):lld=

oRs1("lld")

zlp=oRs1("zlp"):dyp=oRs1("dyp"):sdp=oRs1("sdp"):zlx=oRs1("zlx"):dyx=

oRs1("dyx"):sdx=oRs1("sdx"):zld=oRs1("zld"):dyd=oRs1("dyd"):sdd=

oRs1("sdd")

Ifn=0Then【查询的结果数为0时显示内容】

MsgBox"对不起,没有找到符合条件的数据",vbOK,"没有相关数据"

EndIf

y

【使用FlexGridActiveX控件可以在MicrosoftVisualBasic的窗体中创建一个电

子数据表格,也可称之为网格,

/link?url=gdGZm1tyQhFpO4MlKlEiFPvRS990aO0n5y9PFHPR1a

edWB4XLJL05K68bL84l6aa】

=Count+6

th(0)=800

th(1)=2100

th(2)=1000

th(3)=1000

th(4)=1000

th(5)=1000

th(6)=1000

th(7)=1000

'合并单元格,并把单元格的内容写为R980履带式布料机日报表

=0

Forz=0To7

=z

="R980履带式布料机日报表"

Next

ells=4【Merge合并】

ow(0)=True

'合并单元格

trix(1,0)="编号"【Matrix矩阵,(行,列)】

trix(1,1)="日期"

trix(1,2)="压力"

trix(1,3)="温度"

trix(1,4)="流量"

trix(1,5)="重量"

trix(1,6)="电压"

trix(1,7)="速度"

'trix(Count+2,0)="总和"

trix(Count+3,0)="最大值"

trix(Count+4,0)="最小值"

trix(Count+5,0)="平均值"

gnment(0)=4

gnment(1)=4

gnment(2)=4

gnment(3)=4

gnment(4)=4

gnment(5)=4

gnment(6)=4

gnment(7)=4【对其方式

Fori=Count

trix(i+1,0)=i

Next

If(n>0)Then

rst

i=0

EndIf【显示编号下方的信息为从第2行、第0列为1,第3行第0列为2,i的

取值为从1到查询到的数目Count】

n=n+1

ylp=Int(ylp*10^3+0.5)/(10^3)

wdp=Int(wdp*10^3+0.5)/(10^3)

llp=Int(llp*10^3+0.5)/(10^3)

zlp=Int(zlp*10^3+0.5)/(10^3)

dyp=Int(dyp*10^3+0.5)/(10^3)

sdp=Int(sdp*10^3+0.5)/(10^3)

i=i+1

'mi,i+1

t=CStr((0).Value)

Ife=fThen

trix(i+1,1)=Mid(t,11,16)

EndIf

Ife<>fThen

trix(i+1,1)=t

EndIf

a1=CStr((1).Value)

b1=CStr((2).Value)

c1=CStr((3).Value)

d1=CStr((4).Value)

e1=CStr((5).Value)

f1=CStr((6).Value)

a1=Int(a1*10^3+0.5)/(10^3)

b1=Int(b1*10^3+0.5)/(10^3)

c1=Int(c1*10^3+0.5)/(10^3)

d1=Int(d1*10^3+0.5)/(10^3)

e1=Int(e1*10^3+0.5)/(10^3)

f1=Int(f1*10^3+0.5)/(10^3)

trix(i+1,2)=a1

trix(i+1,3)=b1

trix(i+1,4)=c1

trix(i+1,5)=d1

trix(i+1,6)=e1

trix(i+1,7)=f1

trix(Count+3,2)=yld

trix(Count+4,2)=ylx

trix(Count+5,2)=ylp

trix(Count+3,3)=wdd

trix(Count+4,3)=wdx

trix(Count+5,3)=wdp

trix(Count+3,4)=lld

trix(Count+4,4)=llx

trix(Count+5,4)=llp

'*************************************************

trix(Count+3,5)=zld

trix(Count+4,5)=zlx

trix(Count+5,5)=zlp

trix(Count+3,6)=dyd

trix(Count+4,6)=dyx

trix(Count+5,6)=dyp

trix(Count+3,7)=sdd

trix(Count+4,7)=sdx

trix(Count+5,7)=sdp

'*****************************************************

xt

Loop

EndSub

3打印按钮

SubOnClick(ByValItem)

DimExcelApp

DimExcelBook

DimExcelSheet

DimMSFlexGrid1

Dimi,irow,ICOL

Dimz,k

SetMSFlexGrid1=ScreenItems("MSFlexGrid1")

SetExcelApp=CreateObject("ation")

SetExcelBook=

SetExcelSheet=eets(1)

e=True

("A1:H1").Merge

Forirow=-1

ForICOL=-1

z=

(irow+1,icol+1)=Trim(trix(irow,icol))

Next

Next

("A1:H"&z&"").Borders(1).Weight=2

("A1:H"&z&"").Borders(2).Weight=2

("A1:H"&z&"").Borders(3).Weight=2

("A1:H"&z&"").Borders(4).Weight=2

(1).RowHeight=0.75/0.035

t

(1).="宋体"

(1).=True

(1).=16

ntalAlignment=3

'gin=2/0.035

'Margin=2/0.035

'rgin=2/0.035

'argin=2/0.035

Horizontally=2/0.035

review'打印阅览

'ut'打印时用此句

SetExcelApp=Nothing

EndSub

4画面函数打开画面

SubOnOpen()

DimText1,Text2

SetText1=ScreenItems("Text1")

SetText2=ScreenItems("Text2")

=Now

=0

EndSub

本文发布于:2023-01-04 10:33:06,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/90167.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:闵京勋
标签:kleif
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图