以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 代码修改  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114232)

--  作者:13969192969
--  发布时间:2018/2/1 11:22:00
--  [求助] 代码修改
代码 贴上  不能发表,是咋回事?要不怎么让高手给看看代码呢?

--  作者:有点甜
--  发布时间:2018/2/1 11:36:00
--  

参考 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=69632

 


--  作者:13969192969
--  发布时间:2018/2/1 12:09:00
--  
zd = zd.Remove(0,1)
        ro.Add(Date.Now)
        ro.Add(bh)
        ro.Add(HexToDec(jjh))
        Dim sj As Double = zs  + xs 
        ro.Add(sj)
        cmd1.CommandText = "Select Max(实际示数) Fro m {气表抄表} Where 编号 = \'" & bh & "\'"
        ro.Add(sj - cmd1.ExecuteScalar())
       
实现的是   值=当前行的值-最大值

我需要的是  值=当前值-上一行的值

请问高手:怎么修改代码!

--  作者:有点甜
--  发布时间:2018/2/1 12:21:00
--  

你说的上一行,根据哪一列排序的?

 

cmd1.CommandText = "Select top 1 实际示数 From {气表抄表} Where 编号 = \'" & bh & "\' order by [_Identify] desc"

msgbox(cmd1.ExecuteScalar())


--  作者:13969192969
--  发布时间:2018/2/1 12:23:00
--  
实际示数 这一列
--  作者:13969192969
--  发布时间:2018/2/1 12:29:00
--  
编号 实际示数 用量 抄表时间
1 100 100 2018.2.1.12.24.23
2 120 20 2018.2.1.12.24.24
3 130 10 2018.2.1.12.24.25
4 150 20 2018.2.1.12.24.26
5 200 50 2018.2.1.12.24.27


我需要的是  用量= 当前示数 - 上一行的实际示数,如上表所示的用量!

麻烦“有点甜”给在原来代码上给改一下!!非常感谢!!

--  作者:有点甜
--  发布时间:2018/2/1 12:30:00
--  

那就试试

 

cmd1.CommandText = "Select top 1 实际示数 From {气表抄表} Where 编号 = \'" & bh & "\' order by 实际示数 desc"

msgbox(cmd1.ExecuteScalar())

 

-----------------

 

cmd1.CommandText = "Select top 2 实际示数 From {气表抄表} Where 编号 = \'" & bh & "\' order by 实际示数 desc"

msgbox(cmd1.ExecuteReader.datarows(1)("实际示数"))

[此贴子已经被作者于2018/2/1 12:30:11编辑过]

--  作者:13969192969
--  发布时间:2018/2/2 13:51:00
--  

Dim zg As New List(Of String) \'最高
Dim dy1 As Date = New Date(d.Year,d.Month,1) \'当月第一天
Dim sy As Integer = Date.DaysInMonth(d.Year,d.Month) \'月天数
Dim LastDay As Date = New Date(d.Year,d.Month,sy)\'最后一天
Dim maxmid as Double

Do While dy1 <= LastDay
    cmd1.CommandText ="Select Max(数值) Fro m {实时数据} Where 编号 = \'" & bh & "\' And 抄表时间 >= convert(varchar(10),\'" & dy1 & "\',120) And 抄表时间 < convert(varchar(10),dateadd(d,1,\'" & dy1 & "\'),120)"
    zg.Add("\'" & cmd1.ExecuteScalar & "\'")
  
Loop


以上实现的是读取每天的“数值”最大值;

现在我想把这个月的最大值(也就是从每天采集到的数值最大值里 提取出最大的那个值!)提取出来 赋值到maxmid,然后在标签“lable9”显示出来,怎么添加代码,我添加了怎么也不行,请给予指导!谢谢

--  作者:有点甜
--  发布时间:2018/2/2 14:27:00
--  
cmd1.CommandText ="Select Max(数值) From {实时数据} Where 编号 = \'" & bh & "\' And 抄表时间 >= \'" & dy1 & "\' And 抄表时间 < \'" & dy1.addmonths(1) & "\'"