Foxtable(狐表)用户栏目专家坐堂 → 统计取值


  共有4407人关注过本帖树形打印复制链接

主题:统计取值

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 9:02:00 [显示全部帖子]

1、表格有没有【送达日期列】?如果没有如何根据日期排除值?

 

2、根据日期列,根据你的期数,计算出日期范围,比如 1月15到2月15,统计这期间的数据。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 9:49:00 [显示全部帖子]

期数和日期怎么转换?假如日期是 201802,要统计,那就统计寄到日期为 2018-01-15到2018-02-15 的数据,即可。

 

如条件 "寄到日期 > ## and 寄到日期 <= ##"

[此贴子已经被作者于2018/2/12 9:49:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 10:35:00 [显示全部帖子]

Dim d As Date = e.Form.Controls("开piao日期").value
If d = Nothing OrElse Format(d, "yyyyMM") >= Format(Date.Today, "yyyyMM") Then
    Dim dr As DataRow = Tables("工程款管理").current.DataRow
    Dim filter As String = "合同编码='" & dr("合同编码") & "'And 计量期数='" & dr("计量期数") & "'"
    dr("本期统计增值税") = DataTables("进项piao审核").sqlCompute("sum(税额)", filter & " And 审核状态='财务部已审核' and 类别='专piao'")
Else
    Dim dr As DataRow = Tables("工程款管理").current.DataRow
    Dim d2 As Date = new Date(Date.Today.year, Date.Today.Month, 15)
    If dr("计量期数") = "1" Then
        Dim filter As String = "合同编码='" & dr("合同编码") & "'And 寄达日期 >= #" & d & "# and 寄达日期 <= #" & d2 & "#"
        dr("本期统计增值税") = DataTables("进项piao审核").sqlCompute("sum(税额)", filter & " And 审核状态='财务部已审核' and 类别='专piao'")
    Else
        Dim filter As String = "合同编码='" & dr("合同编码") & "'And 寄达日期 > #" & d2 & "#"
        dr("本期统计增值税") = DataTables("进项piao审核").sqlCompute("sum(税额)", filter & " And 审核状态='财务部已审核' and 类别='专piao'")
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 11:55:00 [显示全部帖子]

Dim d As Date = e.Form.Controls("开piao日期").value
Dim dr As DataRow = Tables("工程款管理").current.DataRow
Dim d1 As Date = d
If dr("计量期数") <> "1" Then
    d = d.AddMonths(dr("计量期数")-1)
    d1 = new Date(d.year, d.Month, 15)
End If
Dim d2 As Date = new Date(d1.year, d1.Month, 15)
d2 = d2.AddMonths(1)
Dim filter As String = "合同编码='" & dr("合同编码") & "' And 寄达日期 >= #" & d1 & "# and 寄达日期 <= #" & d2 & "#"
dr("本期统计增值税") = DataTables("进项piao审核").Compute("sum(税额)", filter & " And 审核状态='财务部已审核' and 类别='专piao'")
msgbox(filter & " And 审核状态='财务部已审核' and 类别='专piao'")

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 12:26:00 [显示全部帖子]

完全看不懂你什么逻辑。能不能理清楚再说?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 15:02:00 [显示全部帖子]

1、你每次、每一行的开piao日期都不一样?

 

2、怎么知道你上一期是什么时候到什么时候的数据?

 

3、每一期的计算结果,是什么日期范围的数据?有没有统计过的数据根据什么判断?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 15:28:00 [显示全部帖子]

以下是引用cd_tdh在2018/2/12 15:25:00的发言:

每一期都可能会开piao,所以开piao日期会不一样,是少数情况。

感觉这个逻辑有点走不通,我在想想还有没其他办法来处理。

 

 

比如,你第二期,要计算什么日期范围的数据?那同样是第二期,我修改了开piao日期,再统计,要统计什么数据?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 16:41:00 [显示全部帖子]

完全没看懂你的逻辑。

 

1、第一期的时候,设置开piao日期是1月10日,统计什么数据?第二期,设置开piao日期为2月25日,统计什么数据?统计完以后,第二期,再设置开piao日期是2月11日,统计什么数据?

 

2、直接说你要做到什么效果吧。之前没统计是什么意思?怎么算已经被统计?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/12 17:58:00 [显示全部帖子]

看懂代码,细节自己调整。

 

Dim d As Date = e.Form.Controls("开piao日期").value
Dim dr As DataRow = Tables("工程款管理").current.DataRow
Dim d2 As Date = new Date(d.year, d.Month, 15)
d2 = d2.AddMonths(1)
Dim filter As String = "合同编码='" & dr("合同编码") & "' and 寄达日期 <= #" & d2 & "#"
Dim sum1 As Double = DataTables("进项piao审核").sqlCompute("sum(税额)", filter & " And 审核状态='财务部已审核' and 类别='专piao'")
Dim sum2 As Double = 0
For i As Integer = 1 To dr("计量期数")-1
    sum2 += val(dr.DataTable.datarows(i-1)("本期统计增值税"))
Next
msgbox(sum1)
msgbox(sum2)
dr("本期统计增值税")= sum1-sum2


 回到顶部