Foxtable(狐表)用户栏目专家坐堂 → [求助]非关联表之间的数据同步


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

主题:[求助]非关联表之间的数据同步

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


加好友 发短信
等级:小狐 帖子:384 积分:4174 威望:0 精华:0 注册:2011/12/31 14:28:00
[求助]非关联表之间的数据同步  发帖心情 Post By:2014/4/8 14:05:00 [只看该作者]

下面是帮助中非关联表之间数据同步的例子,强调要两个表都存在产品编号,产品名称,产品规格三列,也就是两中这三列的列名要一样.

想问下,如果列名不一样能实现同步吗,

比如产品表中的列名是产品编号,产品名称,产品规格, 而库存表中的列名是:编号,名称,规格这样的,能实现同步吗

 

非关联表之间的数据同步

假定有一个产品表和一个库存表,两个表都有产品编号、产品名称、产品规格三列,但是没有建立关联,我们希望:

1、在产品表增加一个产品,库存表对应也增加此产品。
2、在产品表删除一个产品,库存表对应也删除此产品。
3、在产品表更改某产品的产品编号、产品名称或产品规格后,库存表也能同步修改。

设计步骤

1、将产品表的DataColChanged事件代码设置为:

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("产品规格")
        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

2、将产品表的DataRowDeleting事件代码设置为:

Dim dr As DataRow = DataTables("库存").Find("产品编号 = '" & e.DataRow("产品编号") & "'")
If
dr IsNot Nothing Then
    dr.
Delete()
End
If


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/8 14:08:00 [只看该作者]

把单个关联就单个条件,多个关联就多个条件

.Find("产品编号 = '" & e.DataRow("产品编号") & "' and 关联列2='123' and 关联列3 = '234'")

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


加好友 发短信
等级:小狐 帖子:384 积分:4174 威望:0 精华:0 注册:2011/12/31 14:28:00
  发帖心情 Post By:2014/4/8 15:09:00 [只看该作者]

以下是引用Bin在2014-4-8 14:08:00的发言:
把单个关联就单个条件,多个关联就多个条件

.Find("产品编号 = '" & e.DataRow("产品编号") & "' and 关联列2='123' and 关联列3 = '234'")

 

我意思是,怎么把产品表中的产品编号关联到库存表中的编号,产品表中的产品名称关联到库存表中的名称,产品表中的产品规格关联到库存表中的规格, 这样修改产品表中产品编号,库存表中的编号也同步修改,修改产品表中产品名称,库存表中的名称也同步修改,这样的可以实现吗

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:非关联表(不同列名)的数据同步.table


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/8 15:11:00 [只看该作者]

你发出来的帮助例子,不就是实现你想要的效果的吗? 只不过是单列关联而已.  多列关联值值需要以多个列作为条件即可, 你尝试一下就明白了.

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


加好友 发短信
等级:小狐 帖子:384 积分:4174 威望:0 精华:0 注册:2011/12/31 14:28:00
  发帖心情 Post By:2014/4/8 15:21:00 [只看该作者]

这样的,我再试试,

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/8 15:29:00 [只看该作者]

改一下代码就好

 

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


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


加好友 发短信
等级:小狐 帖子:384 积分:4174 威望:0 精华:0 注册:2011/12/31 14:28:00
  发帖心情 Post By:2014/4/8 15:48:00 [只看该作者]

谢谢,受教啦

 回到顶部