Foxtable(狐表)用户栏目专家坐堂 → 关联表


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

主题:关联表

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
关联表  发帖心情 Post By:2019/10/30 17:02:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:质量管理信息系统.foxdb

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

开发者147258,其他888
表“核电不符合项报告单”中每填一行会自动根据“编号”生成到表“公司不符合项管理表”,生成后出现以下问题:
1.表“核电不符合项报告单”中“编号”删除不了,剪切也不行!
2.更改“编号”后,表“公司不符合项管理表”里的原信息不会自动删除,而是重新生成一行!
要怎么改,两张表中的信息要求一一对应的,原编号删除,则表“公司不符合项管理表”里的信息也自动删除

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


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

1、设置关联的时候勾选“同步更新关联列”导致的,只要子表有对应的记录,关联列的数据都无法删除的
2、表“核电不符合项报告单”事件自己写的代码重新生成一行

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/10/31 13:09:00 [只看该作者]

Select Case e.DataCol.name
    Case "编号"
        If e.DataRow.IsNull("编号") = True Then
            DataTables("公司不符合项管理表").DeleteFor("编号='" & e.DataRow("编号") & "'")
        Else
            Dim ndr1 As DataRow = DataTables("公司不符合项管理表").Find("编号 = '" & e.DataRow("编号") & "'")
            If ndr1 Is Nothing Then
                Dim ndr As Row = Tables("公司不符合项管理表").AddNew
                ndr("编号") = e.DataRow("编号")
                ndr("产品属性") = e.DataRow("产品属性")
                ndr("不符合类别_分类") = "核电不符合项"
                ndr("不符合类别_级别") = e.DataRow("不符合类别")
                ndr("部门") = e.DataRow("部门")
                ndr("开启日期") = e.DataRow("开启日期")
                ndr("统计日期") = e.DataRow("统计日期")
                ndr("不符合项描述") = e.DataRow("缺陷部件_不符合项描述")
                ndr("原因分析") = e.DataRow("拟定方案_原因分析_内容")
                ndr("处理方案") = e.DataRow("拟定方案_纠正措施_内容")
                ndr("处理结果") = e.DataRow("关闭决定_SPEC决定")
                ndr("关闭日期") = e.DataRow("关闭决定_日期")
                ndr("质量损失金额") = e.DataRow("合计损失金额")
                ndr("质量考核金额") = e.DataRow("质量考核金额")
                ndr("责任单位") = e.DataRow("责任单位")
                ndr("过程分类") = e.DataRow("过程分类")
                ndr("工序分类") = e.DataRow("缺陷部件_制作阶段")
                ndr("项目或检查名称_项目名称") = e.DataRow("项目名称")
                ndr("项目或检查名称_机组") = e.DataRow("机组号")
                ndr("项目或检查名称_设备名称") = e.DataRow("设备名称")
                ndr.Move(0)
            End If
        End If
End Select

代码改了一下,删掉表“核电不符合项报告单”中的编号,但“公司不符合项管理表”中的此行还是存在,不能同步删掉,
在表“核电不符合项报告单”DaTaRowDeleting事件中也设置了代码DataTables("公司不符合项管理表").deletefor("编号='" & e.DataRow("编号") & "'")
为何还不能同步删除?

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


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

我测试没有问题

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/10/31 15:15:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:质量管理信息系统.foxdb

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

麻烦老师再帮我看看呢!
删掉表“核电不符合项报告单”中的编号,但“公司不符合项管理表”中的此行还是存在,不能同步删掉

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


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


Select Case e.DataCol.name
    Case "编号"
        If e.DataRow.IsNull("编号") = True Then
            DataTables("公司不符合项管理表").DeleteFor("编号='" & e.OldValue & "'")
        Else
……

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/10/31 16:23:00 [只看该作者]

编号整个删除掉,“公司不符合项管理表”中的此行可以同步删掉,但如果只是把编号修改一下,“公司不符合项管理表”中的原编号行无法删除,是什么问题?

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


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

Select Case e.DataCol.name
    Case "编号"
        If e.DataRow.IsNull("编号") = True Then
            DataTables("公司不符合项管理表").DeleteFor("编号='" & e.OldValue & "'")
        Else
            Dim ndr1 As DataRow = DataTables("公司不符合项管理表").Find("编号 = '" & e.OldValue  & "'")
            If ndr1 Is Nothing Then
                Dim ndr As Row = Tables("公司不符合项管理表").AddNew
                ndr("编号") = e.DataRow("编号")
                ndr("产品属性") = e.DataRow("产品属性")
                ndr("不符合类别_分类") = "核电不符合项"
                ndr("不符合类别_级别") = e.DataRow("不符合项类别")
                ndr("部门") = e.DataRow("部门")
                ndr("开启日期") = e.DataRow("开启日期")
                ndr("统计日期") = e.DataRow("统计日期")
                ndr("不符合项描述") = e.DataRow("缺陷部件_不符合项描述")
                ndr("原因分析") = e.DataRow("拟定方案_原因分析_内容")
                ndr("处理方案") = e.DataRow("拟定方案_纠正措施_内容")
                ndr("处理结果") = e.DataRow("关闭决定_SPEC决定")
                ndr("关闭日期") = e.DataRow("关闭决定_日期")
                ndr("质量损失金额") = e.DataRow("合计损失金额")
                ndr("质量考核金额") = e.DataRow("质量考核金额")
                ndr("责任单位") = e.DataRow("责任单位")
                ndr("过程分类") = e.DataRow("过程分类")
                ndr("工序分类") = e.DataRow("缺陷部件_制作阶段")
                ndr("项目或检查名称_项目名称") = e.DataRow("项目名称")
                ndr("项目或检查名称_机组") = e.DataRow("机组号")
                ndr("项目或检查名称_设备名称") = e.DataRow("设备名称")
                ndr.Move(0)
            Else
                ndr1("编号") = e.NewValue
            End If
        End If
End Select

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/10/31 16:47:00 [只看该作者]

OK了,谢谢!

 回到顶部