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


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

主题:[求助]自动更新

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


加好友 发短信
等级:小狐 帖子:383 积分:3126 威望:0 精华:0 注册:2019/4/13 16:10:00
[求助]自动更新  发帖心情 Post By:2019/10/4 15:04:00 [只看该作者]

If e.DataCol.Name = "供应商名称" Then '发生变化的是产品编号吗?
    '在产品表找出该产品
    Dim dr As DataRow
    dr = DataTables("供应商资料").Find("供应商名称 = '" & e.DataRow("供应商名称") & "'" )
    If dr IsNot Nothing '如果找到, 则设置各列内容
        e.DataRow("供应商名称") = dr("供应商名称")
        e.DataRow("地址") = dr("地址")
        e.DataRow("联系人") = dr("联系人")
        e.DataRow("电话") = dr("电话")
        
    End If
End If

Select Case e.DataCol.name
    Case "供应商名称"
        Dim dr As DataRow = DataTables("供应商资料").Find("供应商名称 = '" & e.newValue & "'")
        If dr Is Nothing Then
            dr = DataTables("供应商资料").AddNew()
            dr("供应商名称") = e.DataRow("供应商名称")
            dr("地址") = e.DataRow("地址")
            dr("联系人") = e.DataRow("联系人")
            dr("电话") = e.DataRow("电话")
        Else
            dr("供应商名称") = e.DataRow("供应商名称")
        End If
        
    Case "供应商名称","地址","联系人","电话"
        Dim dr As DataRow = DataTables("供应商资料").Find("供应商名称 = '" & e.DataRow("供应商名称") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

我在入库单,录入了一个新的供应商名称,在供应商资料表格里面会自动增加该供应商信息,在下一个入库单,如果下拉框选择该供应商,供应商信息表,任然还会重复添加该供应商名称。
这个代码是哪里错误,麻烦老师指导下

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


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

代码没看出问题,做个简单例子发上来看看。

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


加好友 发短信
等级:小狐 帖子:383 积分:3126 威望:0 精华:0 注册:2019/4/13 16:10:00
  发帖心情 Post By:2019/10/7 22:29:00 [只看该作者]


好的,已经上传了,主要问题是:
我录采购单,录入供应商A信息然后点击保存,供应商信息表里面会自动新增A的资料,继续录采购单,再录入供应商B信息同样保存,供应商信息里面会新增B的资料,然后继续录采购单,下拉框选择B,保存,然后继续录采购单,下拉框选择B
我发现在供应商基础信息表里面,原有的A信息,会被变成B信息,而且后面采购单如果继续录B供应商的采购单,供应商资料表会重复添加B信息,代码是哪里错了吗,我是希望,采购单里面输入新的供应商信息(供应商资料里面没有该供应商),
供应商资料表自动新增即可,不要重复新增旧值。麻烦老师指导下
[此贴子已经被作者于2019/10/7 23:17:00编辑过]

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


加好友 发短信
等级:超级版主 帖子:107672 积分:547681 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/8 9:18:00 [只看该作者]

是指下拉框没有新增的供应商可选择吧?看看:http://www.foxtable.com/webhelp/topics/1457.htm

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


加好友 发短信
等级:小狐 帖子:383 积分:3126 威望:0 精华:0 注册:2019/4/13 16:10:00
  发帖心情 Post By:2019/10/8 17:55:00 [只看该作者]

额,为什么不能上传附件了,上传了好几天都不行,不是下拉框没有更新,是下拉框选择了供应商名称,后面供应商资料表那里会重复添加该供应商名称

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


加好友 发短信
等级:超级版主 帖子:107672 积分:547681 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/8 20:40:00 [只看该作者]

Select Case e.DataCol.name
    Case "供应商名称"
        Dim dr As DataRow = DataTables("供应商资料").Find("供应商名称 = '" & e.newValue & "'")
        If dr Is Nothing Then
            dr = DataTables("供应商资料").AddNew()
            dr("供应商名称") = e.DataRow("供应商名称")
            dr("地址") = e.DataRow("地址")
            dr("联系人") = e.DataRow("联系人")
            dr("电话") = e.DataRow("电话")
        End If
        
    Case "地址","联系人","电话"
        Dim dr As DataRow = DataTables("供应商资料").Find("供应商名称 = '" & e.DataRow("供应商名称") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

 回到顶部