Foxtable(狐表)用户栏目专家坐堂 → 流水账


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

主题:流水账

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


加好友 发短信
等级:幼狐 帖子:173 积分:2032 威望:0 精华:0 注册:2017/12/20 8:56:00
流水账  发帖心情 Post By:2019/1/20 15:40:00 [只看该作者]

采用外部数据源,数据量很大(100万条),查询某一时段流水账明细及的余额,按帮助里面了那个弄,是不是会很慢,还有其他方法吗?

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


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/1/20 17:36:00 [只看该作者]

既然有现成的数据,试试就知道了,速度会受很多因素影响的

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


加好友 发短信
等级:幼狐 帖子:173 积分:2032 威望:0 精华:0 注册:2017/12/20 8:56:00
  发帖心情 Post By:2019/1/20 17:56:00 [只看该作者]

没有现成的数据,正在设计哦

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


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

 

用流水账设计可以。只要你查询的数据不大,就没问题。你可以在查询的时候,再重新计算流水账,如

 

http://www.foxtable.com/webhelp/scr/2926.htm

 

 


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


加好友 发短信
等级:幼狐 帖子:173 积分:2032 威望:0 精华:0 注册:2017/12/20 8:56:00
  发帖心情 Post By: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张表的“入库数量“
图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:222.png
图片点击可在新窗口打开查看
和”入库金额”名字不一样,同步过去就是“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编辑过]

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


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

1、请在表格那里加入一列唯一编码,必须根据唯一值处理的,不然你就用 _Identify。

 

2、具体实例发上来测试

 

3、那你就改成

 

DataTables("库存流水账").deletefor("货品ID = '" & e.DataRow("货品ID") & "'")


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


加好友 发短信
等级:幼狐 帖子:173 积分:2032 威望:0 精华:0 注册:2017/12/20 8:56:00
  发帖心情 Post By:2019/1/21 11:25:00 [只看该作者]

新增一行,自动给某一列赋予一个指,怎么弄


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


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

以下是引用admin22327在2019/1/21 11:25:00的发言:
新增一行,自动给某一列赋予一个指,怎么弄

 

DataRowAdded事件,比如

 

e.datarow("第一列") = "abc"


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


加好友 发短信
等级:幼狐 帖子:173 积分:2032 威望:0 精华:0 注册:2017/12/20 8:56:00
  发帖心情 Post By:2019/1/21 20:07:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成本计算法.xls

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的计算成本公式见上传的表格
图片点击可在新窗口打开查看此主题相关图片如下:3333.png
图片点击可在新窗口打开查看
这里关键是销售成本的计算, 
4、第一次计算库存是按商品名称计算的流水,我的商品存放在3个库房,现在要查看每个库房的流水明细,怎么弄,谢谢
[此贴子已经被作者于2019/1/21 20:26:14编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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、商品名称+库房作为查询条件

 回到顶部
总数 13 1 2 下一页