Foxtable(狐表)用户栏目专家坐堂 → [求助]同步数据有个不明白的地方


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

主题:[求助]同步数据有个不明白的地方

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
[求助]同步数据有个不明白的地方  发帖心情 Post By:2016/11/18 19:57: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


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


加好友 发短信
等级:童狐 帖子:212 积分:4209 威望:0 精华:0 注册:2013/10/1 14:00:00
  发帖心情 Post By:2016/11/18 20:33:00 [只看该作者]

本身有10行,删除就好

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/19 8:43:00 [只看该作者]

狐表创建的表默认都有10个空行,使用前可以先删除

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


加好友 发短信
等级:小狐 帖子:332 积分:2471 威望:0 精华:0 注册:2012/6/23 11:15:00
  发帖心情 Post By:2021/8/6 17:53:00 [只看该作者]

反过来用的话,录入库存的同时产品表里会自动保存产品信息,有很多重复的产品数据,怎么避免重复呢?

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


加好友 发短信
等级:六尾狐 帖子:1279 积分:7959 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2021/8/6 18:10:00 [只看该作者]

引入审核机制。审核才触发跨表插入数据。而不是改一下就插一条

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/7 9:01:00 [只看该作者]

以下是引用xuzihang在2021/8/6 17:53:00的发言:
反过来用的话,录入库存的同时产品表里会自动保存产品信息,有很多重复的产品数据,怎么避免重复呢?

1楼的代码本身就有排重的效果,实际项目是怎么做的?

 回到顶部