Foxtable(狐表)用户栏目专家坐堂 → 请教进厂物资管理


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

主题:请教进厂物资管理

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


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
请教进厂物资管理  发帖心情 Post By:2013/8/2 11:04:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:物资进厂管理.foxdb

请教进厂物资管理:

1、不同日期都有物资进厂,某天物资类别和供货厂家不固定。

2、相同物资类别可能来自不同供货厂家。

3、相同供货厂家可能供应不同物资类别。

3、想统计不同物资类别的每天量,每月量和全年累计量。

4、想统计不同供货厂家的每天量,每月量和全年累计量。

5、每月26日到下月25日为一个月度周期。

做了好长时间,越做越迷糊,请教大师指导。


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


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/8/2 15:33:00 [显示全部帖子]

在大师帮助下实现了上述功能,现将代码发出和大家共享

Dim dt As Date = e.DataRow("日期")
If dt.Day < 26 Then
    dt = dt.AddMonths(-1)
End If
Dim dt1 As Date = New Date(dt.Year,dt.Month ,26)
Dim dt2 As Date = dt1.AddMonths(1).AddDays(-1)
If e.DataCol.name = "日期" Then
    If e.DataRow.IsNull("日期") = False
        Dim Filter As String
        Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
        Tables("蒸发收碱").Filter = Filter
    End If
End If

Select Case e.DataCol.Name
    Case "数量"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        drs = e.DataTable.Select("液碱标号='" & e.DataRow("液碱标号") & "' and 日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#", "日期 ")
        If drs.Count = 1 Then
            e.DataRow("全月用量_标号统计")=e.DataRow("数量")
        Else
            drs = e.DataTable.Select("液碱标号='" & e.DataRow("液碱标号") & "' and 日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#", "日期 ")
            For i As Integer = 1 To drs.Count-1
                drs(i)("全月用量_标号统计") = drs(i-1)("全月用量_标号统计") + drs(i)("数量")
            Next
        End If
End Select
Select Case e.DataCol.Name
    Case "数量"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        drs = e.DataTable.Select("供货厂家='" & e.DataRow("供货厂家") & "' and 日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#", "日期 ")
        If drs.Count = 1 Then
            e.DataRow("全月用量_厂家统计")=e.DataRow("数量")
        Else
            drs = e.DataTable.Select("供货厂家='" & e.DataRow("供货厂家") & "' and 日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#", "日期 ")
            For i As Integer = 1 To drs.Count-1
                drs(i)("全月用量_厂家统计") = drs(i-1)("全月用量_厂家统计") + drs(i)("数量")
            Next
        End If
End Select

Select Case e.DataCol.Name
    Case "数量"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        drs = e.DataTable.Select("供货厂家='" & e.DataRow("供货厂家") & "' and 日期 >= #" & e.DataRow("日期").Year & "/1/1# ")
        If drs.Count = 1 Then
            e.DataRow("全年用量_厂家统计")=e.DataRow("数量")
        Else
            drs = e.DataTable.Select("供货厂家='" & e.DataRow("供货厂家") & "' and 日期 >=  #" & e.DataRow("日期").Year & "/1/1# ")
            For i As Integer = 1 To drs.Count-1
                drs(i)("全年用量_厂家统计") = drs(i-1)("全年用量_厂家统计") + drs(i)("数量")
            Next
        End If
End Select
Select Case e.DataCol.Name
    Case "数量"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        drs = e.DataTable.Select("液碱标号='" & e.DataRow("液碱标号") & "' and 日期 >= #" & e.DataRow("日期").Year & "/1/1# " )
        If drs.Count = 1 Then
            e.DataRow("全年用量_标号统计")=e.DataRow("数量")
        Else
            drs = e.DataTable.Select("液碱标号='" & e.DataRow("液碱标号") & "' and 日期 >=  #" & e.DataRow("日期").Year & "/1/1# ")
            For i As Integer = 1 To drs.Count-1
                drs(i)("全年用量_标号统计") = drs(i-1)("全年用量_标号统计") + drs(i)("数量")
            Next
        End If
End Select
DataTables("蒸发收碱").Save()


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


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/8/2 15:33:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20130802153058.jpg
图片点击可在新窗口打开查看

 回到顶部