以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  临时表代码写在哪里  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=152487)

--  作者:朱女士
--  发布时间:2020/7/13 14:29:00
--  临时表代码写在哪里
老师您好!
   我有两个问题:
   1、有一个库存表,此表是有入库出库表计算而来的临时表,我想将做一个库存数量提醒,低于某个数要提醒,我应该在哪里写代码?
   2、我的ddpsb有一个编号列,编号有重复,我想录入数据时在一个地方记录一个初始值,然后有重复的编号复制即可,如果不重复值,输入一行就用初始值加1自动输入。怎么实现?
   谢谢!

--  作者:cd_tdh
--  发布时间:2020/7/13 14:30:00
--  
计时器
--  作者:有点蓝
--  发布时间:2020/7/13 14:32:00
--  
1、怎么生成的临时表?贴出代码说明一下

2、基本没看懂,请上传实例说明

--  作者:朱女士
--  发布时间:2020/7/13 14:50:00
--  
Dim dtb As New DataTableBuilder("原料库存")
dtb.AddDef("ylggdm", Gettype(String), 26)

dtb.AddDef("供应商", Gettype(String), 8)
dtb.AddDef("原料名称", Gettype(String), 12)
dtb.AddDef("原料类别", Gettype(String), 4)

dtb.AddDef("原料规格", Gettype(String), 22)

dtb.AddDef("长", Gettype(String), 6)
dtb.AddDef("宽", Gettype(String), 6)
dtb.AddDef("厚", Gettype(String),6)
dtb.AddDef("期初_数量", Gettype(Double))
dtb.AddDef("期初_重量", Gettype(Double))
dtb.AddDef("期初_含税额", Gettype(Double))

dtb.AddDef("入库_数量", Gettype(Double))
dtb.AddDef("入库_重量", Gettype(Double))
dtb.AddDef("入库_含税额", Gettype(Double))

dtb.AddDef("出库_数量", Gettype(Double))
dtb.AddDef("出库_重量", Gettype(Double))
dtb.AddDef("出库_含税额", Gettype(Double))

dtb.Build()
\'计算原料期初数据
For Each nm As String In DataTables("ylggb").GetValues("ylggdm")
    Dim dr As DataRow = DataTables("原料库存").AddNew()
    Dim pr As DataRow = DataTables("ylggb").find("ylggdm=\'" & nm & "\'")
    dr("ylggdm") = nm
    dr("供应商") = pr("供应商")
    \'dr("原料名称") = pr("原料名称")
      dr("原料类别") = pr("yllb")

    dr("原料规格") = pr("原料规格")
    dr("长") = pr("长")
    dr("宽") = pr("宽") 
    dr("厚") = pr("厚") 
    dr("期初_数量") = DataTables("ylqcb").Compute("Sum(期初_数量)","[ylggdm] = \'" & dr("ylggdm") & "\'")
    dr("期初_重量") = DataTables("ylqcb").Compute("Sum(期初_重量)","[ylggdm] = \'" & dr("ylggdm") & "\'")
    dr("期初_含税额") = DataTables("ylqcb").Compute("Sum(期初_含税额)","[ylggdm] = \'" & dr("ylggdm") & "\'")
    
    dr("入库_数量") = DataTables("ylrkb").Compute("Sum(入库_数量)","[ylggdm] = \'" & dr("ylggdm") & "\'")
    
    dr("入库_重量") = DataTables("ylrkb").Compute("Sum(入库_重量)","[ylggdm] = \'" & dr("ylggdm") & "\'")
    
    dr("入库_含税额") = DataTables("ylrkb").Compute("Sum(入库_含税额)","[ylggdm] = \'" & dr("ylggdm") & "\'")
    
    dr("出库_数量") = DataTables("ylckb").Compute("Sum(出库_数量)","[ylggdm] = \'" & dr("ylggdm") & "\'")
    
    dr("出库_重量") = DataTables("ylckb").Compute("Sum(出库_重量)","[ylggdm] = \'" & dr("ylggdm") & "\'")
    
    dr("出库_含税额") = DataTables("ylckb").Compute("Sum(出库_含税额)","[ylggdm] = \'" & dr("ylggdm") & "\'")
    
Next

With DataTables("原料库存").DataCols  \'用表达式列计算库存数据
    .Add("库存_数量",Gettype(Double), "IsNull([期初_数量],0)+isnull([入库_数量],0)-ISNULL([出库_数量],0)")
    .Add("库存_重量",Gettype(Double), "IsNull([期初_重量],0)+isnull([入库_重量],0)-ISNULL([出库_重量],0)")
    .Add("库存_含税额",Gettype(Double), "IsNull([期初_含税额],0)+isnull([入库_含税额],0)-ISNULL([出库_含税额],0)")
End With

MainTable= Tables("原料库存")
Tables("新原料库存计算_table1").datasource=DataTables("原料库存")

--  作者:有点蓝
--  发布时间:2020/7/13 14:53:00
--  
到全局表事件处理,比如:http://www.foxtable.com/webhelp/topics/2471.htm


--  作者:朱女士
--  发布时间:2020/7/13 15:07:00
--  
老师:
  我在项目事件【afteropenproject】中写入代码,启动项目后提示:不存在“原料库存”表,但必须在执行计算代码后才能认可此表的存在。
Dim dr As DataRow = DataTables("原料库存").Find("库存_数量<=5" )
If dr IsNot Nothing Then
    MessageBox.Show("库存原料低于5张!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Tables("原料库存").Filter = "库存_数量<= 5"
    MainTable = Tables("原料库存")

End If

--  作者:有点蓝
--  发布时间:2020/7/13 15:13:00
--  
直接放到4楼的代码后面