以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助][推荐]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175983)

--  作者:leoli
--  发布时间:2022/3/25 22:28:00
--  [求助][推荐]
老师,如截图,可以优化一下代码,使其下载资料后,将列partno相同,在同一个月内的的iquantity 相加,加到表 rdrecords11中。谢谢。

Dim cmd As New SQLCommand
Dim dt As DataTable
DataTables("rdrecords11").datarows.clear
cmd.C 
Dim Cols111() As String = {"cInvcode","iquantity","Dvdate"}
Dim Cols222() As String = {"PartNo","Qty","Date"}
cmd.CommandText ="Se/lect cInvcode,iquantity,dvdate From {rdrecords11} Where [dvDate] > = \'" & e.Form.Controls("Datetimepicker1").Value & "\' And [dvDate] < = \'" & e.Form.Controls("Datetimepicker2").Value & "\'"
dt = cmd.ExecuteReader()
For Each dr1 As DataRow In dt.DataRows
    Dim dr2 As DataRow = DataTables("rdrecords11").AddNew()
    For i As Integer = 0 To Cols111.Length -1
        dr2(Cols222(i)) = dr1(Cols111(i))
    Next
Next

图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2022/3/26 9:38:00
--  
Dim cmd As New SQLCommand
Dim dt As DataTable
DataTables("rdrecords11").datarows.clear
cmd.C
Dim Cols111() As String = {"cInvcode","iquantity"}
Dim Cols222() As String = {"PartNo","Qty"}
cmd.CommandText ="select cInvcode,年,月,sum(iquantity) as iquantity from (Select cInvcode,iquantity,year(dvdate) as 年,month(dvdate) as 月 From {rdrecords11} Where [dvDate] > = \'" & e.Form.Controls("Datetimepicker1").Value & "\' And [dvDate] < = \'" & e.Form.Controls("Datetimepicker2").Value & "\') as a group by cInvcode,年,月"
dt = cmd.ExecuteReader()
For Each dr1 As DataRow In dt.DataRows
    Dim dr2 As DataRow = DataTables("rdrecords11").AddNew()
    For i As Integer = 0 To Cols111.Length -1
        dr2(Cols222(i)) = dr1(Cols111(i))
    Next
    dr2("date") = new Date(dr1("年"),dr1("月"),1)
Next