Foxtable(狐表)用户栏目专家坐堂 → 请教已录入数据禁止修改单价表产品名称、工序,还有组合合并问题


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

主题:请教已录入数据禁止修改单价表产品名称、工序,还有组合合并问题

美女呀,离线,留言给我吧!
采菊东篱下
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/22 16:30:00 [只看该作者]

不能不让编辑,没被引用前允许编辑的。

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


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/22 16:32:00 [只看该作者]

上面的代码只是被引用的才不能编辑,并不是所有都不能编辑,请测试过再说

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/22 16:37:00 [只看该作者]

你的代码还有工序名称未被考虑,不能只考虑产品名称,否则一旦产品名称相同,全不能改了!车间生产去到工序的,我还漏了完工进仓产品也有引用单价表的数据,因些即使想删除数据后编辑,也要把全部引用过的数据删除。

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


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/22 16:45:00 [只看该作者]

还需要什么条件那就自己补上

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/22 17:12:00 [只看该作者]

密码:111111

在单价表的表属性DataColChanging事件中写了这段代码:

Select Case e.DataCol.name
    Case "产品名称","工序名称"
        Dim dt As DataRow
        Dim dt2 As DataRow
        Dim dt4 As DataRow
        dt = DataTables("数据源表").find("产品名称 = '" & e.oldValue & "'" And "工序名称 = '" &  e.oldValue & "'")
        dt2 = DataTables("订单数量表").find("产品名称 = '" & e.oldValue   & "'")
        dt4 = DataTables("成品入进仓数").find("产品名称 = '" & e.oldValue & "'")
        If dt IsNot Nothing OrElse dt2 IsNot Nothing OrElse dt4 IsNot Nothing Then
            e.Cancel = True
        End If
    Case "产品编号","工序号"
        Dim dt1 As DataRow
        Dim dt3 As DataRow
        Dim dt5 As DataRow
        dt1 = DataTables("数据源表").find("产品编号 = '" & e.oldValue & "'" And "工序号 = '" &  e.oldValue & "'")
        dt3 = DataTables("订单数量表").find("产品编号 = '" & e.oldValue   & "'")
        dt5 = DataTables("成品入进仓数").find("产品编号 = '" & e.oldValue   & "'")
        If  dt1 IsNot Nothing OrElse dt3 IsNot Nothing OrElse dt5 IsNot Nothing Then
            e.Cancel = True
        End If
End Select

 

报错,当在我单价表中随意删除一个产品名称最后一个字符时报错,关闭报错窗口,没有执行不允许编辑代码。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:在编写代码.rar


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


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/22 17:18:00 [只看该作者]

不要加那么多多余的双引号,多个列不能使用oldValue 

dt = DataTables("数据源表").find("产品名称 = '" & e.DataRow("产品名称") & "' And 工序名称 = '" &  e.DataRow("工序名称 ") & "'")

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/22 17:30:00 [只看该作者]

密码:111111

改为:

Select Case e.DataCol.name
    Case "产品名称","工序名称"
        Dim dt As DataRow
        Dim dt2 As DataRow
        Dim dt4 As DataRow
        dt = DataTables("数据源表").find("产品名称 = '" & e.DataRow("产品名称") & "'" And "工序名称 = '" & e.DataRow("工序名称") & "'")
        dt2 = DataTables("订单数量表").find("产品名称 = '" & e.DataRow("产品名称") & "'")
        dt4 = DataTables("成品入进仓数").find("产品名称 = '" & e.DataRow("产品名称") & "'")
        If dt IsNot Nothing OrElse dt2 IsNot Nothing OrElse dt4 IsNot Nothing Then
            e.Cancel = True
        End If
    Case "产品编号","工序号"
        Dim dt1 As DataRow
        Dim dt3 As DataRow
        Dim dt5 As DataRow
        dt1 = DataTables("数据源表").find("产品编号 = '" & e.DataRow("产品编号") & "'"and "工序号 = '" & e.DataRow("工序号") & "'")
        dt3 = DataTables("订单数量表").find("产品编号 = '" & e.DataRow("产品编号") & "'")
        dt5 = DataTables("成品入进仓数").find("产品编号 = '" & e.DataRow("产品编号") & "'")
        If  dt1 IsNot Nothing OrElse dt3 IsNot Nothing OrElse dt5 IsNot Nothing Then
            e.Cancel = True
        End If
End Select

还是出现上面的问题。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:在编写代码.rar

[此贴子已经被作者于2020/2/22 17:31:09编辑过]

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


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/22 17:36:00 [只看该作者]

不要加那么多多余的双引号!不要加那么多多余的双引号!不要加那么多多余的双引号!

dt = DataTables("数据源表").find("产品名称 = '" & e.DataRow("产品名称") & "' And 工序名称 = '" &  e.DataRow("工序名称 ") & "'")

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/22 17:41:00 [只看该作者]

Select Case e.DataCol.name
    Case "产品名称","工序名称"
        Dim dt As DataRow
        Dim dt2 As DataRow
        Dim dt4 As DataRow
        dt = DataTables("数据源表").find("产品名称 = '" & e.DataRow("产品名称") & "' And 工序名称 = '" & e.DataRow("工序名称") & "'")
        dt2 = DataTables("订单数量表").find("产品名称 = '" & e.DataRow("产品名称") & "'")
        dt4 = DataTables("成品入进仓数").find("产品名称 = '" & e.DataRow("产品名称") & "'")
        If dt IsNot Nothing OrElse dt2 IsNot Nothing OrElse dt4 IsNot Nothing Then
            e.Cancel = True
        End If
    Case "产品编号","工序号"
        Dim dt1 As DataRow
        Dim dt3 As DataRow
        Dim dt5 As DataRow
        dt1 = DataTables("数据源表").find("产品编号 = '" & e.DataRow("产品编号") & "' And 工序号 = '" & e.DataRow("工序号") & "'")
        dt3 = DataTables("订单数量表").find("产品编号 = '" & e.DataRow("产品编号") & "'")
        dt5 = DataTables("成品入进仓数").find("产品编号 = '" & e.DataRow("产品编号") & "'")
        If  dt1 IsNot Nothing OrElse dt3 IsNot Nothing OrElse dt5 IsNot Nothing Then
            e.Cancel = True
        End If
End Select

 

改过来了,只是没报错而已,不能实现不允许编辑。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:在编写代码.rar

密码:111111

[此贴子已经被作者于2020/2/22 17:42:51编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/22 17:53:00 [只看该作者]

哦,我知道什么原因了,这代码数据源表没加载数据前允许编辑,加载后不允许了,应判别后台是否有符合上列条件数据。


 回到顶部
总数 24 上一页 1 2 3 下一页