以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]非关联表数据之间的同步错误  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=96436)

--  作者:杰克
--  发布时间:2017/2/20 20:43:00
--  [求助]非关联表数据之间的同步错误

This constraint cannot be enabled as not all values have corresponding parent values.


出现这个提示,项目就再也打不开了,咋回事?
[此贴子已经被作者于2017/2/20 20:45:19编辑过]

--  作者:杰克
--  发布时间:2017/2/20 20:49:00
--  
项目没关闭,同步正常,但关了重启,就出现有错提示:This constraint cannot be enabled as not all values have corresponding parent values.
再也打不开了

--  作者:杰克
--  发布时间:2017/2/20 20:54:00
--  
Select Case e.DataCol.name
    Case "学号"
        Dim dr As DataRow = DataTables("成绩表").Find("学号 = \'" & e.OldValue & "\'")
        If dr Is Nothing Then 
            dr = DataTables("成绩表").AddNew()
            dr("学号") = e.DataRow("学号")
            dr("年级") = e.DataRow("年级")
            dr("班级") = e.DataRow("班级")
            dr("姓名") = e.DataRow("姓名")
            dr("语文") = e.DataRow("语文")
            dr("数学") = e.DataRow("数学")
            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


--  作者:有点蓝
--  发布时间:2017/2/20 21:21:00
--  
应该和上面的代码没有关系。

是不是在数据库做了表关联或者约束,错误是说子表数据出现没有对应的父表数据

另外以后记得说明一下代码是哪个表的什么事件的

--  作者:杰克
--  发布时间:2017/2/20 22:26:00
--  
这是学生成绩表
图片点击可在新窗口打开查看此主题相关图片如下:截图02.png
图片点击可在新窗口打开查看代码写在DataColChanged事件
下一个表是成绩表,标题是班级排名表
图片点击可在新窗口打开查看此主题相关图片如下:截图00.png
图片点击可在新窗口打开查看
想设计“学生成绩”表输入数据,“成绩表”同步“学生成绩”表数据
[此贴子已经被作者于2017/2/20 22:27:27编辑过]

--  作者:有点蓝
--  发布时间:2017/2/20 22:37:00
--  
Select Case e.DataCol.name
    Case "学号"
        Dim dr As DataRow = DataTables("成绩表").Find("学号 = \'" & e.OldValue & "\'")
        If dr IsNot Nothing Then
            dr("学号") = e.DataRow("学号")
        Else
            dr  = DataTables("成绩表").Find("学号 = \'" & e.newValue & "\'")
            If dr Is Nothing Then
                dr = DataTables("成绩表").AddNew()
                dr("学号") = e.DataRow("学号")
                dr("年级") = e.DataRow("年级")
                dr("班级") = e.DataRow("班级")
                dr("姓名") = e.DataRow("姓名")
                dr("语文") = e.DataRow("语文")
                dr("数学") = e.DataRow("数学")
                dr("英语") = e.DataRow("英语")
                dr("物理") = e.DataRow("物理")
                dr("化学") = e.DataRow("化学")
                dr("总分") = e.DataRow("总分")
            End If
        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

--  作者:杰克
--  发布时间:2017/2/20 22:50:00
--  
出现有错提示:This constraint cannot be enabled as not all values have corresponding parent values.
再也打不开了

--  作者:杰克
--  发布时间:2017/2/20 22:51:00
--  
出现有错提示:This constraint cannot be enabled as not all values have corresponding parent values.
再也打不开了

--  作者:杰克
--  发布时间:2017/2/20 22:56:00
--  
我的成绩分布表数据是依据学生成绩,代码算出数据的,
--  作者:有点蓝
--  发布时间:2017/2/20 23:08:00
--  
检查是不是在数据库做了表关联或者约束