以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关联表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142556) |
||||||||
-- 作者:13775189031 -- 发布时间:2019/10/30 17:02:00 -- 关联表
开发者147258,其他888 表“核电不符合项报告单”中每填一行会自动根据“编号”生成到表“公司不符合项管理表”,生成后出现以下问题: 1.表“核电不符合项报告单”中“编号”删除不了,剪切也不行! 2.更改“编号”后,表“公司不符合项管理表”里的原信息不会自动删除,而是重新生成一行! 要怎么改,两张表中的信息要求一一对应的,原编号删除,则表“公司不符合项管理表”里的信息也自动删除
|
||||||||
-- 作者:有点蓝 -- 发布时间:2019/10/30 17:25:00 -- 1、设置关联的时候勾选“同步更新关联列”导致的,只要子表有对应的记录,关联列的数据都无法删除的 2、表“核电不符合项报告单”事件自己写的代码重新生成一行 |
||||||||
-- 作者:13775189031 -- 发布时间: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("编号") & "\'") 为何还不能同步删除?
|
||||||||
-- 作者:有点蓝 -- 发布时间:2019/10/31 13:48:00 -- 我测试没有问题 |
||||||||
-- 作者:13775189031 -- 发布时间:2019/10/31 15:15:00 --
麻烦老师再帮我看看呢! 删掉表“核电不符合项报告单”中的编号,但“公司不符合项管理表”中的此行还是存在,不能同步删掉
|
||||||||
-- 作者:有点蓝 -- 发布时间:2019/10/31 15:26:00 -- Select Case e.DataCol.name Case "编号" If e.DataRow.IsNull("编号") = True Then DataTables("公司不符合项管理表").DeleteFor("编号=\'" & e.OldValue & "\'") Else ……
|
||||||||
-- 作者:13775189031 -- 发布时间:2019/10/31 16:23:00 -- 编号整个删除掉,“公司不符合项管理表”中的此行可以同步删掉,但如果只是把编号修改一下,“公司不符合项管理表”中的原编号行无法删除,是什么问题? |
||||||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2019/10/31 16:47:00 -- OK了,谢谢! |