Foxtable(狐表)用户栏目专家坐堂 → 每月25日为结算日期的处理


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

主题:每月25日为结算日期的处理

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
每月25日为结算日期的处理  发帖心情 Post By:2015/1/20 12:07:00 [只看该作者]

请教每月25日为结算日期的处理方式,谢谢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/20 14:02:00 [只看该作者]

 如果要统计什么的,控制好日期条件即可

 

 http://www.foxtable.com/help/topics/2720.htm

 


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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2015/1/20 14:19:00 [只看该作者]

从每月1日到次月1日的统计会处理,但是我们会计要求统计从每月26日至次月25日的数据为1个月。我想是否可以做几个年、月、日的表达式列,通过【日期】列计算后获得。这样筛选或统计就方便些。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/1/20 14:23:00 [只看该作者]

用条件处理呀 


Dim y As Integer = 2011 '指定年份
Dim 
m As Integer = date.today.month
Dim 
dt1 As New Date(ym-126) 上月26号
Dim 
dt2 As New Date(ym25'本月25号
Dim 
Filter As String
Filter
 = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#" 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/20 14:32:00 [只看该作者]

以下是引用ruanziming在2015-1-20 14:19:00的发言:
从每月1日到次月1日的统计会处理,但是我们会计要求统计从每月26日至次月25日的数据为1个月。我想是否可以做几个年、月、日的表达式列,通过【日期】列计算后获得。这样筛选或统计就方便些。

 

看4楼,类似那样写代码。

 

具体问题,请上传例子


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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2015/1/20 15:04:00 [只看该作者]

谢谢。我其实是想把加载树按日期加载处理成每个月加载的数据是上月26日至本月25日的数据。不知道说清没有。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/20 15:09:00 [只看该作者]

 自己设计加载树,控制加载代码即可啊。

 

 http://www.foxtable.com/help/topics/2054.htm

 


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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2015/1/20 18:27:00 [只看该作者]

下面是我用的代码参考一下,代码也是在各位老师的帮助下完成的

 

参考:有日期、年、月、日、季五列,日期为时间,年月日季为字符

 

For Each dr As DataRow In DataTables("公司信息").DataRows  
    Dim qs As Integer = dr("每月第一天")
    Dim js As Integer = dr("每月最后一天")

If e.DataCol.Name = "日期" Then
    If e.DataRow.IsNull("日期") Then
        e.DataRow("年") = Nothing
        e.DataRow("月") = Nothing
        e.DataRow("季") = Nothing
        e.DataRow("日") = Nothing
    Else
        Dim d As Date = e.NewValue
        If d.Month = 12 And d.day >= qs Then
            e.DataRow("年") = d.Year +1
        Else
           e.DataRow("年") = d.Year
        End If
        If d.Day < qs Then
            e.DataRow("月") = d.Month
        Else If d.Month = 11 Then
            e.DataRow("月") = 12
        Else
            e.DataRow("月") = (d.Month + 1) Mod 12
        End If
        If d.day > js Then
            e.DataRow("季") = DatePart("q",d.AddDays(10))
        Else
            e.DataRow("季") = DatePart("q",d)
        End If
        e.DataRow("日") = d.Day
End If
End If
next

 

 

DataRowAdding


e.DataRow("日期") = Date.today()

 

 

 

 

 

‘加载树代码 放在按钮或afterload

 

 

'首先生成统计表
Dim dt As DataTable
Dim b As New SQLGroupTableBuilder("统计表1","坯布输入")
b.C
'Dim dt1 As fxDataSource
b.Groups.AddDef("年","年1")
b.Groups.AddDef("月","月1")
b.Groups.AddDef("日","日1")

b.Totals.AddDef("_Identify",AggregateEnum.Count,"") '根据主键列来统计记录数,也就是订单数
dt = b.Build() '参数设置为False,生成一个临时表,不在主界面显示
'然后根据统计表生成目录树

With DataTables("统计表1").DataCols  '用表达式列计算库存数据
    .Add("年",Gettype(Integer))
    .Add("月",Gettype(Integer))
    .Add("日",Gettype(Integer))
End With
    'Next
    For Each r7 As Row In Tables("统计表1").rows
          r7("年") = r7("年1")
          r7("月") = r7("月1")
          r7("日") = r7("日1")
    Next

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|日")

 

 

 

’‘’NodeMouseClick

 

Dim Filter As String
If e.Node.Text = "请点击选择" Then
    Filter = ""
Else
    Dim Value() As String
    Value = e.Node.FullPath.Split("\")
    Select Case e.Node.Level
        Case 0
            Filter ="[年] = '" & Value(0) & "'"
        Case 1
            Filter ="[年] = '" & Value(0) & "' And [月] = '" & Value(1) & "'"
        Case 2
            Filter ="[年] = '" & Value(0) & "' And [月] = '" & Value(1) & "'And [日] = '" & Value(2) & "'"
    End Select
End If
DataTables("坯布Table1").LoadFilter = Filter
DataTables("坯布Table1").Load()

[此贴子已经被作者于2015-1-20 18:52:44编辑过]

 回到顶部