Foxtable(狐表)用户栏目专家坐堂 → 两个表的数据如何自动更新?


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

主题:两个表的数据如何自动更新?

帅哥哟,离线,有人找我吗?
chinafiber
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:27 积分:235 威望:0 精华:0 注册:2015/8/13 9:57:00
  发帖心情 Post By:2015/11/11 23:26:00 [显示全部帖子]

增加纤维产品详情(数据表),其他的表能全部循环加上新增加的数据,

但是删除纤维产品详情(数据表)的某个编号后,相应的产品编号 和 产品名称也要循环都删掉

能够实现全部数据自动循环删除某个产品编号,想要连产品名称也一起删掉,代码提示错误,

Select Case e.DataRow.name
    Case "产品编号"
       Dim ary() As String={"新型纤维分类","差别化纤维分类","功能性纤维分类"}
        For Each s As String In ary
          Dim dr As DataRow = DataTables(s).Find("产品编号= '" & e.DataRow("产品编号") & "'")
        If dr IsNot Nothing Then
          dr.Delete()
        End If
       Next
    Case "产品名称"
       Dim ary() As String={"新型纤维分类","差别化纤维分类","功能性纤维分类"}
        For Each s As String In ary
          Dim dr As DataRow = DataTables(s).Find("产品名称= '" & e.DataRow("产品名称") & "'")
        If dr IsNot Nothing Then
          dr.Delete()
        End If
       Next
End Select


图片点击可在新窗口打开查看此主题相关图片如下:小q截图-20151111232451.png
图片点击可在新窗口打开查看

麻烦帮我排出一下,谢谢。


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


加好友 发短信
等级:婴狐 帖子:27 积分:235 威望:0 精华:0 注册:2015/8/13 9:57:00
  发帖心情 Post By:2015/11/12 13:09:00 [显示全部帖子]

我写的就是datarowDeleting,

删除产品编号,其他表的产品也随着删除,这个我能做到,

我想要的是,删除主表的产品边和、产品名称,其他表的产品编号和产品名称也能随着删除,所以我用了case事件

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


加好友 发短信
等级:婴狐 帖子:27 积分:235 威望:0 精华:0 注册:2015/8/13 9:57:00
  发帖心情 Post By:2015/11/12 13:11:00 [显示全部帖子]

Select Case e.DataCol.name
    Case "产品编号"
       Dim ary() As String={"新型纤维分类","差别化纤维分类","功能性纤维分类"}
        For Each s As String In ary
          Dim dr As DataRow = DataTables(s).Find("产品编号= '" & e.DataRow("产品编号") & "'")
        If dr IsNot Nothing Then
          dr.Delete()
        End If
       Next
    Case "产品名称"
       Dim ary() As String={"新型纤维分类","差别化纤维分类","功能性纤维分类"}
        For Each s As String In ary
          Dim dr As DataRow = DataTables(s).Find("产品名称= '" & e.DataRow("产品名称") & "'")
        If dr IsNot Nothing Then
          dr.Delete()
        End If
       Next
End Select


图片点击可在新窗口打开查看此主题相关图片如下:小q截图-20151112131118.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:婴狐 帖子:27 积分:235 威望:0 精华:0 注册:2015/8/13 9:57:00
  发帖心情 Post By:2015/11/14 9:32:00 [显示全部帖子]

您好,DataChanged事件的代码和相对应的功能已经实现了。


图片点击可在新窗口打开查看
DataDeleting事件中,已经实现的是,当删除(纤维产品详情)的产品编号时,后面的表也会跟着删除相对应的产品编号,
但是,当删除(纤维产品详情)的产品名称时,后面的表里的相对应的 产品名称里的数据,没有跟着删除,这个还没有实现
[此贴子已经被作者于2015/11/14 9:36:24编辑过]

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


加好友 发短信
等级:婴狐 帖子:27 积分:235 威望:0 精华:0 注册:2015/8/13 9:57:00
  发帖心情 Post By:2015/11/14 9:35:00 [显示全部帖子]

以下是我之前写的DataDeleting事件的代码和相对应的提示,麻烦提示一下,谢谢。

Select Case e.DataCol.name
    Case "产品编号"
       Dim ary() As String={"新型纤维分类","差别化纤维分类","功能性纤维分类"}
        For Each s As String In ary
          Dim dr As DataRow = DataTables(s).Find("产品编号= '" & e.DataRow("产品编号") & "'")
        If dr IsNot Nothing Then
          dr.Delete()
        End If
       Next
    Case "产品名称"
       Dim ary() As String={"新型纤维分类","差别化纤维分类","功能性纤维分类"}
        For Each s As String In ary
          Dim dr As DataRow = DataTables(s).Find("产品名称= '" & e.DataRow("产品名称") & "'")
        If dr IsNot Nothing Then
          dr.Delete()
        End If
       Next
End Select


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


加好友 发短信
等级:婴狐 帖子:27 积分:235 威望:0 精华:0 注册:2015/8/13 9:57:00
  发帖心情 Post By:2015/11/14 10:52:00 [显示全部帖子]

Select Case e.DataCol.name
    Case "产品编号"
     If e.NewValue Is Nothing Then
        Dim ary() As String={"新型纤维分类","差别化纤维分类","功能性纤维分类"}
        For Each s As String In ary
            Dim dr As DataRow = DataTables(s).Find("产品编号= '" & e.DataRow("产品编号") & "'")
            If dr IsNot Nothing Then
                dr.Delete()
            End If
        Next
     End If
       Dim ary() As String={"新型纤维分类","差别化纤维分类","功能性纤维分类"}
        For Each s As String In ary
          Dim dr As DataRow = DataTables(s).Find("产品编号 = '" & e.OldValue & "'")
           If dr Is Nothing Then 
             dr = DataTables(s).AddNew()
             dr("产品编号") = e.DataRow("产品编号")
             dr("产品名称") = e.DataRow("产品名称")
            
           Else
            dr("产品编号") = e.DataRow("产品编号")
           End If
         Next 
      
    Case "产品名称"
     
       Dim ary() As String={"新型纤维分类","差别化纤维分类","功能性纤维分类"}
        For Each s As String In ary
          Dim dr As DataRow = DataTables(s).Find("产品编号= '" & e.DataRow("产品编号") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
        Next
      End Select

以上是我根据提示重新写的代码,以下是保存时的提示,

图片点击可在新窗口打开查看此主题相关图片如下:小q截图-20151114103337_副本.jpg
图片点击可在新窗口打开查看


另外,我想问一下,加这个判断,好像意思是,如果产品编号新的值是空(也就是删除),那么后面的表,也寻找相应的产品编号,把它删掉,

但我的意图是,当把产品编号和产品名称都删除时,后面的表也要删除掉,而我现在的情况是:


图片点击可在新窗口打开查看此主题相关图片如下:小q截图-20151114105232.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2015/11/14 10:54:26编辑过]

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