请教VBS在上面或者底部加个合计并一直置底应该怎么写?

已锁定

小雨同学

  • 帖子

    26
  • 精华

    0
  • 被关注

    4

论坛等级:游士

注册时间:2012-06-11

普通 普通 如何晋级?

请教VBS在上面或者底部加个合计并一直置底应该怎么写?

563

5

2022-02-10 22:51:13

请教VBS在上面或者底部加个合计并一直置底应该怎么写?

Function Visible_Trigger(ByVal Item)


Dim kj1,kj2,kj3,kj4,kj5,kj6

Dim QR

Dim MSFlexGrid1

Dim LocalBeginTime, LocalEndTime,riqi

Dim oRs,oRs1, n,n1,i,z,s1,s11,oCom,oCom1,strcn,conn,pj

Dim zxy1

'查询当天全部数据,为标准

Set MSFlexGrid1 = ScreenItems("报表1") '对应表格控件名称

riqi = Now

LocalBeginTime = Year(riqi) & "-" & Month(riqi) & "-" & Day(riqi) & " " & "00:00:00"

LocalEndTime = Year(riqi) & "-" & Month(riqi) & "-" & Day(riqi) & " " & "23:59:59"


s1 = "SELECT TIME,weigh1,weigh2,weigh3,weigh4,weigh5 FROM WEIGH WHERE TIME BETWEEN '" &LocalBeginTime& "' and'" &LocalEndTime& "'ORDER BY TIME"

'S1 后面的内容要对应数据库中列的内容,后面的 DT 与前面的 DT 要名称一致,biao 要对应数据库列表名称 dbo.后面的名称


'这里要与数据库表名称一致,服务器一致


Strcn = "Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=false;Data Source=DESKTOP-PM6NF1O\WINCC;Initial Catalog = CHENGZHONG"


Set conn = CreateObject("ADODB.Connection")

conn.ConnectionString = strcn

conn.CursorLocation = 3

conn.Open

Set oRs = CreateObject("ADODB.Recordset")

Set oCom = CreateObject("ADODB.Command")

oCom.CommandType = 1

Set oCom.ActiveConnection = conn

oCom.CommandText = s1 '执行检索功能

Set oRs = oCom.Execute

n = oRs.RecordCount '获得检索到的总数

'HMIRuntime.Tags("I3").Write n

'定义在线表格属性

MSFlexGrid1.Clear

MSFlexGrid1.Rows = oRs.RecordCount +2

MSFlexGrid1.ColWidth(0) = 700 '第一列宽度设置

MSFlexGrid1.ColWidth(1) = 1200

MSFlexGrid1.ColWidth(2) = 1200

MSFlexGrid1.ColWidth(3) = 1200

MSFlexGrid1.ColWidth(4) = 1200

MSFlexGrid1.ColWidth(5) = 1200 '第 6 列宽度设置,如果列数多则继续添加

MSFlexGrid1.ColWidth(6) = 1200


MSFlexGrid1.RowHeight(0)= 600 '第一行高度设置

MSFlexGrid1.RowHeight(1)= 400

MSFlexGrid1.Row = 0

For z = 0 To 6 '根据上面的列数改变         '6

MSFlexGrid1.CellFontSize = 12 '字体大小

MSFlexGrid1.Col = z

MSFlexGrid1.Text = "糖分称重报表"

Next

MSFlexGrid1.MergeCells = 4 ' 相同内容合并单元格

MSFlexGrid1.MergeRow(0) = True '合并单元格

MSFlexGrid1.Row = 1

For z = 0 To 6 '根据上面的列数改变          '6

MSFlexGrid1.Col = z

MSFlexGrid1.CellBackColor =vbCyan '定义第二行颜色

Next

MSFlexGrid1.TextMatrix(1, 0) = "序号" '根据实际情况输入

MSFlexGrid1.TextMatrix(1, 1) = "日期"

MSFlexGrid1.TextMatrix(1, 2) = "1号锅(公斤)"

MSFlexGrid1.TextMatrix(1, 3) = "2号锅(公斤)"

MSFlexGrid1.TextMatrix(1, 4) = "3号锅(公斤)"

MSFlexGrid1.TextMatrix(1, 5) = "4号锅(公斤)"

MSFlexGrid1.TextMatrix(1, 6) = "5号锅(公斤)"



MSFlexGrid1.ColAlignment(0) = 4 '对齐方式,根据上面实际情况对应输入

MSFlexGrid1.ColAlignment(1) = 4

MSFlexGrid1.ColAlignment(2) = 4

MSFlexGrid1.ColAlignment(3) = 4 '对齐方式

MSFlexGrid1.ColAlignment(4) = 4

MSFlexGrid1.ColAlignment(5) = 4

MSFlexGrid1.ColAlignment(6) = 4



' 查询数据插入在线表格对应位置

If (n > 0) Then

oRs.MoveFirst '移动到数据库检索结果的第一行

i=0

Do While Not oRs.EOF '是否到记录末尾,循环填写表格

n = n + 1

MSFlexGrid1.TextMatrix(i+2,0) = i '根据上面实际情况对应输入

MSFlexGrid1.TextMatrix(i+2,1) = oRs.Fields(0).Value

MSFlexGrid1.TextMatrix(i+2,2) = oRs.Fields(1).Value

MSFlexGrid1.TextMatrix(i+2,3) = oRs.Fields(2).Value

MSFlexGrid1.TextMatrix(i+2,4) = oRs.Fields(3).Value

MSFlexGrid1.TextMatrix(i+2,5) = oRs.Fields(4).Value

MSFlexGrid1.TextMatrix(i+2,6) = oRs.Fields(5).Value



i=i+1

oRs.MoveNext

Loop

conn.Close

MSFlexGrid1.TopRow = MSFlexGrid1.Rows - 1 '移动到最后一行

Else

MsgBox "您所查询的时间段内没有数据......"

oRs.Requery

conn.Close

End If

End Function


想做成下面这样子:


底部有个总计,并且一直置底在最下面。

请教VBS在上面或者底部加个合计并一直置底应该怎么写? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32767条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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