Foxtable(狐表)用户栏目专家坐堂 → 根据 生产表的 生产数量,如何快速的 把产品入库,然后增加库存数量


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

主题:根据 生产表的 生产数量,如何快速的 把产品入库,然后增加库存数量

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/8 21:43:00 [显示全部帖子]

两个方案:

 

 

1、我觉得你两个分成两个表,一个半成品表,一个成品表,做个按钮,单击此按钮,将半成品表的选定行复制到成品表,并从半成品表删除此行。

 

 

2、或者,做个统计按钮,用于刷新库存,会在在MainTablechanged事件设置代码。

 

For Each dr As DataRow In DataTables("表名").DataRows

     dr("库存") = DataTables("生产").Compute("Sum(数量)", "产品名称 = '" & dr("产品名称") & “‘”)

Next

 

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/8 22:15:00 [显示全部帖子]

做个简单的例子,传上来,然后说明问题,这样才直观。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/9 9:54:00 [显示全部帖子]

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


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/9 10:32:00 [显示全部帖子]

既然是编码,想怎样都行的:

 

 

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


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/9 13:49:00 [显示全部帖子]

库存表再增加一列,用于统计销售数量,然后修改代码,初始库存 + 累计入库 -累计销售,就是最新库存了。

不管担心行不行的问题,只有有规则,Foxtable无所不能,你用foxtable能够设计出一套管家婆来的。

先打好基础,设计好需要的表结构。

 

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


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/9 16:01:00 [显示全部帖子]

没有什么是不可以的,不动表结构,即时更新库存并保存:

  

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

 

 

其实帮助有很多这种例子的。


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/10 11:41:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "ruku"
        Dim val As Integer = e.DataRow("shuliang")
        If e.DataRow("ruku") = False Then
            val = -val
        End If
        Dim dr As DataRow = DataTables("GoodsStocks").find("ptypeid = '" & e.DataRow("Ptypeid") & "'")
        If dr IsNot Nothing Then
            dr("Qty") = dr("Qty") + val
            dr("total") = dr("Qty") * dr("price")
        Else
            dr = DataTables("GoodsStocks").AddNew()
            dr("ptypeid") =e.DataRow("ptypeid")
            dr("KtypeId")="00001"
            dr("qty")=dr("qty")
            dr("price")=0
            dr("total")=0
            dr("GOODSORDERID")=0
        End If
        dr.Save()
        e.DataRow.Save()
End Select


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/10 12:09:00 [显示全部帖子]

根据错误提示,是因为PtypeID列不允许为空。

 

虽然有下面的代码:

 

dr("ptypeid") =e.DataRow("ptypeid")

 

但说不定e.datarow的ptypeid列本来就是空值。

 

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/10 16:43:00 [显示全部帖子]

计算机是不会撒谎的,这样测试一下:

 

Select Case e.DataCol.Name
    Case "ruku"
        Dim val As Integer = e.DataRow("shuliang")
        If e.DataRow("ruku") = False Then
            val = -val
        End If
        Dim dr As DataRow = DataTables("GoodsStocks").find("ptypeid = '" & e.DataRow("Ptypeid") & "'")
        If dr IsNot Nothing Then
            dr("Qty") = dr("Qty") + val
            dr("total") = dr("Qty") * dr("price")
        Else
            dr = DataTables("GoodsStocks").AddNew()
            dr("ptypeid") =e.DataRow("ptypeid")
            dr("KtypeId")="00001"
            dr("qty")=dr("qty")
            dr("price")=0
            dr("total")=0
            dr("GOODSORDERID")=0
        End If

         Messagebox.show(dr.IsNull("ptypeid"))

         Messagebox.show(e.DataRow.IsNull("ptypeid"))
        dr.Save()
        e.DataRow.Save()
End Select

[此贴子已经被作者于2011-8-10 16:43:26编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/10 20:49:00 [显示全部帖子]

23楼的代码不是解决问题的,而是用来判断到底哪一行的ptypeid为空,也就是说判断到底是dr还是e.DataRow的ptypeid为空,因为你的代码中,同时保存了这两行。

既然24楼的代码直接设置了dr列的ptypeid的值,还是出现问题,那么说明是e.DataRow的ptypeid列为空。

你删除倒数第二行的代码:

e.DataRow.Save()
如果不出现错误提示,就说明前面的判断没错。

[此贴子已经被作者于2011-8-10 21:14:33编辑过]

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