首页 > 其他分享 >MSFlexGrid应用

MSFlexGrid应用

时间:2024-01-21 22:16:15浏览次数:27  
标签:objRecordset Dim Set nRow MSFlexGrid Next nCol 应用

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim objConnection
Dim objCommand
Dim objRecordset
Dim strConnectionString
Dim strSQL,sSQL
Dim kWh,PFC,kW,A1,A2,A3,V1,V2,V3,Line_Name,Meter_ID,Line_ID

Dim strkWh,strkW,strPFC,strA1,strA2,strA3,strV1,strV2,strV3,strName
Dim strMeter_ID,strLine_ID,strDT
Dim i,strDTM
Dim DTPStart,strStart,DTPEnd,strEnd

Dim MyArray()
Redim MyArray(26,240)
Dim rsCount,nRows,nRow,iRow,nCol,nRS
Dim nHTemp,nDTemp,strFDT	
Dim olist

On Error Resume Next
strConnectionString = "Provider=MSDASQL;DSN=Energy;UID=sa;PWD=123456;"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.cursorlocation = 3
objConnection.Open
Set DTPStart = ScreenItems("DTPicker") 
strFDT=Year(DTPStart.value) & "-" & Month(DTPStart.value)& "-" & Day(DTPStart.value)&" 00:00:00"
strStart=DateAdd("h",-1,strFDT)
strEnd=DateAdd("d",1,strFDT)

sSQL="select meter_ID,DT,kWh from Meter_Info where DT BETWEEN '"& strStart &"' And '"& strEnd &"' ORDER BY Meter_ID, DT"
Msgbox ssql
Set objRecordset = CreateObject("ADODB.Recordset")
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.CommandType =1
objCommand.CommandText = sSQL
Set objRecordset=objCommand.Execute
rsCount=objRecordset.recordcount
nRows =rscount/240
Msgbox rscount&"记录:"&nRows 
Set olist = ScreenItems("olist")
For i = 0 To 23
    olist.TextMatrix(i+1, 0)=i&" 时"
Next
For nRow=0 To 25
	For nCol=1 To 240
		MyArray(nRow, nCol)="-"
	Next
Next
If (objRecordset.Bof And objRecordset.Eof) Then
       MsgBox("没有符合要求的记录")
Else
	objRecordset.movefirst
	iRow=1
	nCol=1
	For nRS=0 To rsCount-1
		strFDT=objRecordset.Fields(1).Value
		nHTemp= Hour(strFDT)
		nRow=nHTemp
		nDTemp=Day(strFDT)
		If nHTemp=Hour(strStart) And nDTemp=Day(strStart) Then
			nRow=0
		End If
		If nHTemp=Hour(strEnd) And nDTemp=Day(strEnd) Then
			nRow=25
		End If
		MyArray(nRow,nCol)=objRecordset.Fields(0).Value
		nRow=nRow+1
		iRow=iRow+1
		
		If iRow>nRows  Then
			iRow=1
			nCol=nCol+1
		End If
		If nCol>240  Then
			nCol=1
		End If
		objRecordset.movenext
	Next	
End If
For nRow=0 To 23
	For nCol=1 To 240
		oList.TextMatrix(nRow+1, nCol)="-"
	Next
Next
For nRow=0 To 24
	For nCol=1 To 240
		If MyArray(nRow, nCol)<>"-" And MyArray(nRow+1, nCol)<>"-" Then
			oList.TextMatrix(nRow+1, nCol)=MyArray(nRow+1,nCol)-MyArray(nRow,nCol)
		End If
	Next
Next
Set objCommand = Nothing
objConnection.Close
Set objRecordset = Nothing
Set objConnection = Nothing
If Err.Number <> 0 Then
    Msgbox("Error="&CStr(Err.Number)&" "&Err.Description)
    Err.Clear
End If

End Sub

标签:objRecordset,Dim,Set,nRow,MSFlexGrid,Next,nCol,应用
From: https://www.cnblogs.com/PLCMAN128/p/17978506

相关文章

  • 给应用添加动画
    属性动画的使用 概述属性动画,是最为基础的动画,其功能强大、使用场景多,应用范围较广。常用于如下场景中:一、页面布局发生变化。例如添加、删除部分组件元素。二、页面元素的可见性和位置发生变化。例如显示或者隐藏部分元素,或者将部分元素从一端移动到另外一端。三、页......
  • [Mac软件]App Cleaner & Uninstaller 8.2.6应用程序清理和卸载
    AppCleaner&Uninstaller是一款Mac应用程序,它可以帮助用户完全删除应用程序及其相关的服务文件、扩展文件等。以下是该应用程序的主要功能:完全删除应用程序:通过将应用程序图标拖到垃圾桶中删除程序,可以彻底清除应用程序及其相关文件,释放磁盘空间。删除所有类型的服务文件:除了删除......
  • 二分搜索应用 II
    目录1.题目列表2.应用2.1.Leetcode410.分割数组的最大值2.1.1.题目2.1.2.解题思路2.1.3.代码实现1.题目列表序号题目难度1410.分割数组的最大值困难2.应用2.1.Leetcode410.分割数组的最大值2.1.1.题目410.分割数组的最大值给定一个非负整......
  • 如何在实践中应用一体化运维
      一体化运维作为一种先进的运维理念,不仅仅停留在理论层面,更需要在实践中得到应用和验证。以下是在实践中如何应用一体化运维的具体步骤和策略:1. 明确运维目标与需求:在实施一体化运维之前,企业需要明确自身的运维目标和需求。这包括了解现有IT系统的架构、性能瓶颈、安全隐患等......
  • 25new和delete重载实现的对象池应用
    new和delete重载实现的对象池应用在类底层维护一个结构体链表,new和delete重载以避免大量重复的new和delete操作。usingnamespacestd;#include<iostream>staticconstintPOOL_ITEM_SIZE=1000000;template<typenameT>classQueue{public: Queue() { _front=_r......
  • Transformer的应用
    Transformer写在前面本学期学习了NLP的课程,本小菜鸡结合做的课设(基于Transformer的英文文档摘要系统的设计与实现),来写一下有关于Transformer的相关内容吧,有问题之处还请各位大佬批评指正系统的背景抽象文本摘要是自然语言处理中最具挑战性的任务之一,涉及理解长段落、信息压缩......
  • 将 .NET 8应用 以 dotnet publish 创建容器镜像并结合 Github Actions 部署到 Azure
    介绍.NET8无需DockerFile即可为.NET应用创建docker映像的新方法,我将使用dotnetpublish将.NET应用容器化,在本文中,我将分享我如何为.NET8的项目创建一个简单的ci/cd的经验。它包括2个主题:创建用于生成.NET应用并将其发布到Azure的GitHub工作流如何使用do......
  • 认识存储网络:手动搭建 IPFS 环境以及简单应用的开发
    认识存储网络:手动搭建IPFS环境以及简单应用的开发一、实验背景IPFS是一个点对点的分布式文件系统,将所有的计算设备与相同的文件系统连接起来。在某些方面,IPFS类似于Web,但IPFS可以被视为一个单一的比特流群,在Git存储库中交换对象。换句话说,IPFS提供了一个具有内容寻址的超链接......
  • raid级别及应用场景
    最少几块硬盘安全冗余可用容量性能使用场景举例Raid01最低所有硬盘容量的和读写最快不要求安全,只要求速度数据库从库、存储从库Raid1只能有2块100%一半(两块硬盘容量之和)写入速度慢,读取还可以只追求安全性,对速度没要求系统盘、监控服务器Raid5......
  • 软件测试|探索Flask接口路由技术:构建灵活可拓展的Python应用
    测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供1v1私教指导,BAT级别的测试管理大咖量身打造职业规划。什么是路由路由是将URL地......