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


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

主题:[求助]两表之间数据的同步问题

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


加好友 发短信
等级:婴狐 帖子:46 积分:378 威望:0 精华:0 注册:2018/2/2 16:20:00
[求助]两表之间数据的同步问题  发帖心情 Post By:2018/2/7 15:24:00 [只看该作者]

表a的1列、2列、3列,同步到表b的4列、5列、6列,用下面的代码,应该怎么改?大师帮忙

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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/7 15:30: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("5") = e.DataRow("1")
            dr("6") = e.DataRow("2")
        Else
            dr("产品编号") = e.DataRow("产品编号")
        End If
    Case "1","2"
        Dim dr As DataRow = DataTables("库存").Find("产品编号 = '" & e.DataRow("产品编号") & "'")
        If dr IsNot Nothing Then
            dr("5") = e.DataRow("1")
            dr("6") = e.DataRow("2")

        End If
End Select

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


加好友 发短信
等级:婴狐 帖子:46 积分:378 威望:0 精华:0 注册:2018/2/2 16:20:00
  发帖心情 Post By:2018/2/7 15:31:00 [只看该作者]

其他的汉字怎么办?


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


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

 你两个表,必须根据编号列进行对比,你两个表都要有一个编号列。

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


加好友 发短信
等级:婴狐 帖子:46 积分:378 威望:0 精华:0 注册:2018/2/2 16:20:00
  发帖心情 Post By:2018/2/7 15:34:00 [只看该作者]

以下是引用有点甜在2018/2/7 15:30: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("5") = e.DataRow("1")
            dr("6") = e.DataRow("2")
        Else
            dr("产品编号") = e.DataRow("产品编号")
        End If
    Case "1","2"
        Dim dr As DataRow = DataTables("库存").Find("产品编号 = '" & e.DataRow("产品编号") & "'")
        If dr IsNot Nothing Then
            dr("5") = e.DataRow("1")
            dr("6") = e.DataRow("2")

        End If
End Select
3,4列怎么办呢



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


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

看懂代码,要多少列,那就复制拷贝多少行。

 

初学者,把视频教程看一下 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187

 


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


加好友 发短信
等级:婴狐 帖子:46 积分:378 威望:0 精华:0 注册:2018/2/2 16:20:00
  发帖心情 Post By:2018/2/7 15:44:00 [只看该作者]

OK了,谢谢,有点甜,除了这种方法,还有什么同步数据的方法吗?


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


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

以下是引用liuwei2182在2018/2/7 15:44:00的发言:
OK了,谢谢,有点甜,除了这种方法,还有什么同步数据的方法吗?

 

如果要实时同步,必须用2楼的方法。

 

如果是父子表的情况,你可以直接引用父表数据

 

http://www.foxtable.com/webhelp/scr/0091.htm

 

http://www.foxtable.com/webhelp/scr/0106.htm

 


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


加好友 发短信
等级:婴狐 帖子:46 积分:378 威望:0 精华:0 注册:2018/2/2 16:20:00
  发帖心情 Post By:2018/2/7 15:54:00 [只看该作者]

我两个表中用日期列做 对比列,结果有的日期出现下列报错


.NET Framework 版本:2.0.50727.8766
Foxtable 版本:2017.12.31.1
错误所在事件:表,晋东公司生产日报,DataColChanged
详细错误信息:
调用的目标发生了异常。
无法在 System.DateTime 和 System.String 上执行“=”操作。

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


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

Dim dr As DataRow = DataTables("库存").Find("产品编号 = '" & e.DataRow("产品编号") & "'")

 

改成

 

Dim dr As DataRow = DataTables("库存").Find("产品编号 = #" & e.DataRow("产品编号") & "#")


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