以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教查找按钮代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=8745)

--  作者:ASD123456789
--  发布时间:2010/12/3 16:35:00
--  请教查找按钮代码

狐爸你好求助:

 

“仓库进货明细”表与“仓库出货明细”表是人工输入,但“统计表”要按要求自动统计出来

要求:只有同一月中“类别,品名,规格与色号,单位,单价”都一样的情况下,数量才能相加,如果不是同一月的,就不能相加

列如:日期          类别  品号     规格与色号   数量   单位  单价

      2010-11-01  A1  A001         011        80    个   0.31
      2010-11-02  A1  A001         011        80    个   0.31
      (可以相加数量)

      2010-12-01  A1  A001         011        80    个   0.31

       (这个就不能和上面的相加了)
其中有个查找按钮是要按月份去查找进销和库存的数量与金额,其中“上月结存”一定是前月的库存数量

列如:11月中上月结存数量为10月的月底结存数量,而且一按出来后要总计 所有的数量与金额到最后一行


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:复件 管理项目21.table

 

今天狐爸提供一段代码让我改可就是改不出来,请狐爸能帮帮,与便能更好的学习,谢谢


--  作者:狐狸爸爸
--  发布时间:2010/12/3 16:37:00
--  
前面C版不是帮你做了吗?
--  作者:ASD123456789
--  发布时间:2010/12/3 16:42:00
--  

那个不是按钮的效果,我希望也能得到个按钮的效果,也希望也能更于学习

[此贴子已经被作者于2010-12-3 16:43:19编辑过]

--  作者:czy
--  发布时间:2010/12/3 16:50:00
--  
以下是引用ASD123456789在2010-12-3 16:42:00的发言:

那个不是按钮的效果,我希望也能得到个按钮的效果,也希望也能更于学习

[此贴子已经被作者于2010-12-3 16:43:19编辑过]

 

你好怪哟,删除第一行代码后不就是按钮代码了吗?


--  作者:ASD123456789
--  发布时间:2010/12/3 16:55:00
--  

对不起,初学者有点不会,不过还是的谢谢你,

 

    Dim f As New Filler
    f.SourceTable = DataTables("仓库入货明细")
    f.SourceCols = "年月,类别,品名,规格与色号,单位,单价"
    f.datatable = DataTables("仓库存在统计表")
    f.DataCols = "年月,类别,品名,规格与色号,单位,单价"
    f.ExcludeExistValue = True
    f.ExcludeNullValue = True
    f.Fill()
   
    Dim fl As New Filler
    fl.SourceTable = DataTables("仓库出货明细")
    fl.SourceCols = "年月,类别,品名,规格与色号,单位,单价"
    fl.datatable = DataTables("仓库存在统计表")
    fl.DataCols = "年月,类别,品名,规格与色号,单位,单价"
    fl.ExcludeExistValue = True
    fl.ExcludeNullValue = True
    fl.Fill()
   
    \'以下统计
    Dim dt As datatable = DataTables("仓库入货明细")
    Dim dt1 As datatable = DataTables("仓库出货明细")
    For Each dr As DataRow In DataTables("仓库存在统计表").DataRows
        Dim Filter As String = "类别 = \'" & dr("类别") & "\' And "
        Filter = Filter & "品名 = \'" & dr("品名") & "\' And "
        Filter = Filter & "规格与色号 = \'" & dr("规格与色号") & "\' And "
        Filter = Filter  & "单位 = \'" & dr("单位") & "\' And "
        Filter = Filter & "单价 = " & dr("单价")
        dr("上月结存_数量") = dt.Compute("Sum(数量)",Filter & " And 年月 < " & dr("年月")) - dt1.Compute("Sum(数量)",Filter & " And 年月 < " & dr("年月"))
        dr("本月_入库_数量") = dt.Compute("Sum(数量)",Filter & " And 年月 = " & dr("年月"))
        dr("本月_出库_数量") = dt1.Compute("Sum(数量)",Filter & " And 年月 = " & dr("年月"))
    Next

好像和我上面的要求少的一些功能吧,无法按月查找,总计所有的数量

[此贴子已经被作者于2010-12-3 17:00:48编辑过]

--  作者:ASD123456789
--  发布时间:2010/12/4 11:44:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目222.table

 

请问狐爸,为什么这个列表根据月的查找不出请帮帮忙改正谢谢


--  作者:狐狸爸爸
--  发布时间:2010/12/4 12:30:00
--  

你既然设置了ExcludeNullValue 属性,也就是排除空值,可是你进货表没有一行输入了单价,出货表更是全是空白,当然不会有结果:

 

DataTables("仓库存在统计表").DataRows.Clear()
Dim f As New Filler
f.SourceTable = DataTables("仓库入货明细")
f.SourceCols = "月份,类别,品名,规格与色号,单位,单价"
f.DataTable = DataTables("仓库存在统计表")
f.DataCols = "月份,类别,品名,规格与色号,单位,单价"
f.ExcludeExistValue = True
f.ExcludeNullValue = True
f.Fill()

 

 


--  作者:czy
--  发布时间:2010/12/4 12:40:00
--  

排除空行,类别和单价都没有数据。

你这样的设计没法帮你了,你更改了月份列的类型,这样的月份表示方式我不知道怎么取的上月的结存。


--  作者:blackzhu
--  发布时间:2010/12/4 12:43:00
--  
请注意填充需要加上一个填充条件.这个条件就是月份等于下拉框的月份,另外一个需要注意的就是,所有的填充的列,里面的数据不能少,少就不会填充的.
--  作者:czy
--  发布时间:2010/12/4 12:43:00
--  

另外这样的设计,出入库表只能是本年数据,如果这两个表的数据不只一年,怎么统计本月数据?