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


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

主题:非关联验证

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
非关联验证  发帖心情 Post By:2017/4/25 16:59:00 [只看该作者]

不想建立表的关联,想要以下结果

1、如果表B有对应的产品用料,(所有材料的用料)则勾选[标识];

2、如果在表B编辑和新增产品的用料,则勾选表A的[标识]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:非关联.foxdb


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/25 17:30:00 [只看该作者]


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/25 17:36:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:非关联.foxdb


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2017/4/25 17:43:00 [只看该作者]

能贴出代码吗,我还没有升级

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/25 17:44:00 [只看该作者]

 

表A_DataColChanged

 

Select Case e.DataCol.name

    Case "产品型号","产品规格"

        Dim fdr As DataRow = DataTables("表b").find("产品型号='" & e.DataRow("产品型号") & "' and 产品规格='" & e.DataRow("产品规格") & "'")

        If fdr IsNot Nothing Then

            e.DataRow("标识") = True

        Else

            e.DataRow("标识") = False

        End If

End Select

 

表B_DataColChanged

 

If e.DataCol.name = "产品型号" Then

    DataTables("表a").DataCols("产品型号").RaiseDataColChanged("产品型号='" & e.oldvalue & "' and 产品规格='" & e.DataRow("产品规格") & "'")

    DataTables("表a").DataCols("产品型号").RaiseDataColChanged("产品型号='" & e.DataRow("产品型号") & "' and 产品规格='" & e.DataRow("产品规格") & "'")

End If

If e.DataCol.name = "产品规格" Then

    DataTables("表a").DataCols("产品型号").RaiseDataColChanged("产品型号='" & e.DataRow("产品型号") & "' and 产品规格='" & e.OldValue & "'")

    DataTables("表a").DataCols("产品型号").RaiseDataColChanged("产品型号='" & e.DataRow("产品型号") & "' and 产品规格='" & e.DataRow("产品规格") & "'")

End If


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2017/4/25 18:04:00 [只看该作者]

验证后问题:

1、表B每个产品有两行,必须都有数据才能勾选,删除任一行数据都勾选不了或去掉勾选


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/25 18:07:00 [只看该作者]

 不明白你的问题。如何知道表A的数据对应两行还是三行还是四行?

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2017/4/25 18:14:00 [只看该作者]

表A与表B实际是一对多(表A是一,表B是多)

 回到顶部
帅哥哟,离线,有人找我吗?
实话实说
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2017/4/25 18:15:00 [只看该作者]

只有表B的用料都有数据(对应产品)才能在表A勾选

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/25 18:20:00 [只看该作者]

以下是引用实话实说在2017/4/25 18:15:00的发言:
只有表B的用料都有数据(对应产品)才能在表A勾选

 

Select Case e.DataCol.name

    Case "产品型号","产品规格"

        Dim fdr As DataRow = DataTables("表b").find("产品型号='" & e.DataRow("产品型号") & "' and 产品规格='" & e.DataRow("产品规格") & "'")

        If fdr IsNot Nothing Then

            e.DataRow("标识") = True

        Else

            e.DataRow("标识") = False

        End If

End Select

 

表B_DataColChanged

 

If e.DataCol.name = "产品型号" Then

    DataTables("表a").DataCols("产品型号").RaiseDataColChanged("产品型号='" & e.oldvalue & "' and 产品规格='" & e.DataRow("产品规格") & "' and 用料 > 0")

    DataTables("表a").DataCols("产品型号").RaiseDataColChanged("产品型号='" & e.DataRow("产品型号") & "' and 产品规格='" & e.DataRow("产品规格") & "' and 用料 > 0")

End If

If e.DataCol.name = "产品规格" Then

    DataTables("表a").DataCols("产品型号").RaiseDataColChanged("产品型号='" & e.DataRow("产品型号") & "' and 产品规格='" & e.OldValue & "'")

    DataTables("表a").DataCols("产品型号").RaiseDataColChanged("产品型号='" & e.DataRow("产品型号") & "' and 产品规格='" & e.DataRow("产品规格") & "'")

End If

If e.DataCol.name = "用料" Then

    DataTables("表a").DataCols("产品型号").RaiseDataColChanged("产品型号='" & e.DataRow("产品型号") & "' and 产品规格='" & e.DataRow("产品规格") & "'")

End If


 回到顶部
总数 17 1 2 下一页