Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:童狐 帖子:205 积分:1468 威望:0 精华:0 注册:2013/2/1 21:25:00
[求助]  发帖心情 Post By:2014/3/19 10:26:00 [只看该作者]

现有两个表,一个表是销售明细,另外一个表为销售货物条码明细表(该表除了条码列外其他列是根据第一个表的数据自动生成的)

生成的样式为附件“销售货物条码明细表.png"

求助代码


图片点击可在新窗口打开查看此主题相关图片如下:销售单.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:销售货物条码明细.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/19 10:40:00 [只看该作者]

请上例子.

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


加好友 发短信
等级:童狐 帖子:205 积分:1468 威望:0 精华:0 注册:2013/2/1 21:25:00
  发帖心情 Post By:2014/3/19 10:54:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:条码练习.foxdb


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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2014/3/20 15:49:00 [只看该作者]

MainTableChanged中:
If MainTable.Name = "销售货物条码明细"
DataTables("销售货物条码明细").DataRows.Clear() 
    For Each r0 As Row In Tables("销售单").Rows
        For i As Integer = 1 To r0("数量") 

            Dim t As Table = Tables("销售货物条码明细")
            Dim r As Row = t.addnew()
            r("销售单号") = r0("销售单号")
            r("货物名称") = r0("货物名称")
            r("提货机型") = r0("提货机型")
            r("数量") = 1
        Next
    Next
End If


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


加好友 发短信
等级:童狐 帖子:205 积分:1468 威望:0 精华:0 注册:2013/2/1 21:25:00
  发帖心情 Post By:2014/3/24 21:51:00 [只看该作者]

这样会将以前已经输入的条码全部清除

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


加好友 发短信
等级:童狐 帖子:205 积分:1468 威望:0 精华:0 注册:2013/2/1 21:25:00
  发帖心情 Post By:2014/3/24 22:01:00 [只看该作者]

其实就是想实现当“销售单表”增加一行后,“销售货物条码明细”表自动根据“销售单表”中的“数量”列的值增加行数

(实现这个功能就是为了后期录入条码且因为每一个货物条码的唯一性)


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


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2014/3/24 22:31:00 [只看该作者]

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


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/25 8:25:00 [只看该作者]

BeforeSaveDataRow

If e.DataRow.RowState = DataRowState.Added AndAlso e.DataRow.IsNull("销售单号") = False AndAlso e.DataRow.IsNull("货物名称") = False _

    AndAlso e.DataRow.IsNull("提货机型") = False AndAlso e.DataRow("数量") > 0 Then
    For i As Integer = 1 To e.DataRow("数量")
        Dim dr As DataRow = DataTables("销售货物条码明细").AddNew()
        For Each s As String In "销售单号|货物名称|提货机型".Split("|")
            dr(s) = e.DataRow(s)
            dr("数量") = 1
        Next
    Next
End If

跨表新增行的操作,最好用BeforeSaveDataRow

如果用DataColChanged,在修改相关列值的时候,会造成重复新增行。


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


加好友 发短信
等级:童狐 帖子:205 积分:1468 威望:0 精华:0 注册:2013/2/1 21:25:00
  发帖心情 Post By:2014/3/25 9:02:00 [只看该作者]

谢谢!还有一个问题,如果销售表进行了修改相对应的“销售条码明细表”也要修改,这个代码咋弄?


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


加好友 发短信
等级:童狐 帖子:205 积分:1468 威望:0 精华:0 注册:2013/2/1 21:25:00
  发帖心情 Post By:2014/3/25 9:32:00 [只看该作者]

有两种情况:

1、比如订单号为001的货物A原来数量3,相对应的“销售条码明细表”增加了三行,现将数量修改为2,那么现将相对应的“销售条码明细表”增加了的三行删除,同时在原有位置增加2行;

2、比如订单号为001的货物A原来数量3,相对应的“销售条码明细表”增加了三行,现将货物名称改为“B”,数量为“5”,那么现将相对应的“销售条码明细表”增加了的三行删除,同时在原有位置将货物名称改为“B”,增加5行;


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