Foxtable(狐表)用户栏目专家坐堂 → [原创]采购系统设计问题


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

主题:[原创]采购系统设计问题

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
[原创]采购系统设计问题  发帖心情 Post By:2019/7/18 17:05:00 [显示全部帖子]

在采购系统里, 采购, 付款, 库存的关系是如何设计的, 是各自独立的模块,还是你中有我, 我中有你的, 哪位能提供一下设计思路?典型的经销存里是如何做的呢?

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2019/7/19 10:13:00 [显示全部帖子]

采购系统中应付账款如何设计, 建立一个应付账款表吗?数据从何而来, 从采购明细表里导入吗?
然后在建立一个付款单和付款明细单吗?

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2019/7/20 8:54:00 [显示全部帖子]


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

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2019/7/20 10:04:00 [显示全部帖子]

然后在该表的DataColChanged事件 中设置如下代码:

If e.DataCol.Name = "产品" Then 
    e.DataRow("数量") = DataTables("订单").Compute("Sum(数量)","[产品] = '" & e.NewValue & "'")
End
 
If

请在统计表设置好上述代码后,重置一次该表的产品列。

现在要求在订单表输入或修改某订单的数量后,能够即时更新统计表对应产品的数量统计值。

为此可将订单表的DataColChanged事件代码设置为:

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    pr = 
DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'")
    If
 pr IsNot Nothing 
Then
        pr(
"数量")= pr("数量") + e.NewValue - e.OldValue
    End
 
If
End
 If

代码的原理很简单,修改某订单的数量后,上面的代码会在统计表找出对应的产品,然后将该产品的数量累计值加上此订单的新数量值,并减去此订单的原数量值,得到该产品最新的销售数量。


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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2019/7/20 10:05:00 [显示全部帖子]

是不是两个表都要写? 第一次成功, 然后删除, 然后代码就没有反应了


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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2019/7/20 10:08:00 [显示全部帖子]

If e.DataCol.Name = "PDID" Then 
    e.DataRow("付款金额") = DataTables("付款明细单").Compute("Sum(付款金额)","[PDID] = '" & e.NewValue & "'")
End If

If e.DataCol.Name = "付款金额" Then
    Dim pr As DataRow
    pr = DataTables("应付账款表").Find("PDID = '" & e.DataRow("PDID") & "'")
    If pr IsNot Nothing Then
        pr("付款金额")= pr("付款金额") + e.NewValue - e.OldValue
    End If
End If

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2019/7/20 11:35:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:应付2019-07-20.foxdb


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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2019/7/20 14:59:00 [显示全部帖子]

付款表中只支付了应付表中的一部分, 为何应付表里全部付款完来了, 余额都是0呢?

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2019/7/20 15:12:00 [显示全部帖子]


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

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2019/7/20 15:23:00 [显示全部帖子]

不会写, 老师! 如何写条件!
看来做关联比较简单

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