以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 流水账 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=130376) |
||||
-- 作者:admin22327 -- 发布时间:2019/1/20 15:40:00 -- 流水账 采用外部数据源,数据量很大(100万条),查询某一时段流水账明细及的余额,按帮助里面了那个弄,是不是会很慢,还有其他方法吗? |
||||
-- 作者:y2287958 -- 发布时间:2019/1/20 17:36:00 -- 既然有现成的数据,试试就知道了,速度会受很多因素影响的 |
||||
-- 作者:admin22327 -- 发布时间:2019/1/20 17:56:00 -- 没有现成的数据,正在设计哦 |
||||
-- 作者:有点甜 -- 发布时间:2019/1/20 23:27:00 --
用流水账设计可以。只要你查询的数据不大,就没问题。你可以在查询的时候,再重新计算流水账,如
http://www.foxtable.com/webhelp/scr/2926.htm
|
||||
-- 作者:admin22327 -- 发布时间:2019/1/21 0:36:00 -- 1、参照非关联表之间的数据同步,对于相同编号的产品同步到另外一张表上的时候,出现,相同编号的产品的数量和金额只有最后一次的数据,看这段代码哪里有问题 Select Case e.DataCol.name \'同步流水账数据 Case "货品ID" Dim dr As DataRow = DataTables("库存流水账").Find("货品ID = \'" & e.OldValue & "\'") If dr Is Nothing Then dr = DataTables("库存流水账").AddNew() dr("货品ID") = e.DataRow("货品ID") dr("日期") = e.DataRow("日期") dr("单号") = e.DataRow("单号") dr("名称") = e.DataRow("名称") dr("规格") = e.DataRow("规格") dr("入库数量") = e.DataRow("入库数量") dr("入库金额") = e.DataRow("入库金额") Else dr("货品ID") = e.DataRow("货品ID") End If Case "名称","规格","入库数量","入库金额" Dim dr As DataRow = DataTables("库存流水账").Find("货品ID = \'" & e.DataRow("货品ID") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select 2、同步的时候,出现列名称不一致,为什么数据不能同步过去呢,比如,一开始2张表的“入库数量“ ![]() ![]() ![]() ![]() 和”入库金额”名字不一样,同步过去就是“0” 3、同步删除的代码是否有问题 Dim ds As DataRow = DataTables("库存流水账").Find("货品ID = \'" & e.DataRow("货品ID") & "\'") \'同步删除流水账 If ds IsNot Nothing Then ds.Delete() End If [此贴子已经被作者于2019/1/21 0:41:11编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2019/1/21 10:12:00 -- 1、请在表格那里加入一列唯一编码,必须根据唯一值处理的,不然你就用 _Identify。
2、具体实例发上来测试
3、那你就改成
DataTables("库存流水账").deletefor("货品ID = \'" & e.DataRow("货品ID") & "\'") |
||||
-- 作者:admin22327 -- 发布时间:2019/1/21 11:25:00 -- 新增一行,自动给某一列赋予一个指,怎么弄 |
||||
-- 作者:有点甜 -- 发布时间:2019/1/21 12:02:00 -- 以下是引用admin22327在2019/1/21 11:25:00的发言:
新增一行,自动给某一列赋予一个指,怎么弄
DataRowAdded事件,比如
e.datarow("第一列") = "abc" |
||||
-- 作者:admin22327 -- 发布时间:2019/1/21 20:07:00 --
1、软件不用数据库最大加载行数是多少? 2、从主表复制数据到关联表附表,用以下代码,如果先填写关联表明细表的数据,主表的供应商名称和库房不能同步到关联表的明细表,修改供应商和库房,也不能同步。代码如下; If e.DataCol.Name = "单号" Then \'来自采购主表的供应商和库房 If e.NewValue Is Nothing Then e.DataRow("供应商") = Nothing e.DataRow("库房名称") = Nothing Else Dim dr As DataRow dr = DataTables("采购主表").Find("[单号] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("供应商") = dr("供应商") e.DataRow("库房名称") = dr("库房名称") End If End If End If 3,关于库存商品金额的问题 按会计上计算库存商品的一般办法是,上一行库存金额/库存数量*本行的销售数量=计算销售成本,本行的库存商品金额=上一行的库存商品金额-本行的销售成本,完全是一个动态的过程,这个在软件里面怎么解决,用Excel的计算成本公式见上传的表格 ![]() ![]() 这里关键是销售成本的计算, 4、第一次计算库存是按商品名称计算的流水,我的商品存放在3个库房,现在要查看每个库房的流水明细,怎么弄,谢谢
[此贴子已经被作者于2019/1/21 20:26:14编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/1/21 21:15:00 -- 1、10W行应该都够呛了,总之一次性加载太多的数据是不现实的 2、"采购主表"datacolchanged事件 If e.DataCol.Name = "供应商" OrElse e.DataCol.Name = "库房名称" Then \'来自采购主表的供应商和库房 Dim dr As DataRow dr = DataTables("明细表").Find("[单号] = \'" & e.DataRow("单号") & "\'") If dr IsNot Nothing dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End If 3、采用流水账的计算方法即可,可以采用月结的方式,只查询计算本月的数据,这样就不会受数据量的影响了 4、商品名称+库房作为查询条件 |