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


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

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

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


加好友 发短信
等级:幼狐 帖子:85 积分:722 威望:0 精华:0 注册:2018/5/2 16:58:00
[求助]非关联表之间的数据同步问题  发帖心情 Post By:2023/4/5 16:23: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(
"
产品名称") = 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
求教一个问题,如果产品表中产品名称列是一个分层表头,比如列名为产品名称_A,而库存表中的列名是产品名称,示例中的代码要如何调整。新手不太会,求赐教。

[此贴子已经被作者于2023/4/5 16:28:15编辑过]

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


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

直接改为实际的列名即可

dr(
"
产品名称") = e.DataRow("产品名称")
改为
dr("产品名称_A") = e.DataRow("产品名称")

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


加好友 发短信
等级:幼狐 帖子:85 积分:722 威望:0 精华:0 注册:2018/5/2 16:58:00
  发帖心情 Post By:2023/4/6 10:46:00 [只看该作者]

修改后没有效果是怎么回事?编写的代码如下:
Select Case e.DataCol.name
    Case "姓名"
        Dim dt As DataRow = DataTables("LOA").Find("姓名 = '" & e.OldValue & "'")
        If dt Is Nothing Then
            dt = DataTables("LOA").AddNew()
            dt("姓名") = e.DataRow("姓名")
            dt("工龄_年") = e.DataRow("工龄") 
        Else
            dt("姓名") = e.DataRow("姓名")
        End If
    Case "工龄"
        Dim dt As DataRow = DataTables("LOA").Find("姓名 = '" & e.DataRow("姓名") & "'")
        If dt IsNot Nothing Then
            dt(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select
请老师指点
[此贴子已经被作者于2023/4/6 11:50:52编辑过]

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/6 10:49:00 [只看该作者]

代码放在哪个表?工龄_年是哪个表的?

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


加好友 发短信
等级:幼狐 帖子:85 积分:722 威望:0 精华:0 注册:2018/5/2 16:58:00
  发帖心情 Post By:2023/4/6 12:10:00 [只看该作者]

按照示例里说的,示例里的产品表相当于我的A表,库存表相当我的B表,我的代码是放在A表,工龄_年是A表里的,B表里的列是工龄

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/6 13:37:00 [只看该作者]

要把A表数据填入到B表?还是要把B表数据填入到A表?

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


加好友 发短信
等级:幼狐 帖子:85 积分:722 威望:0 精华:0 注册:2018/5/2 16:58:00
  发帖心情 Post By:2023/4/6 14:23:00 [只看该作者]

是把A表数据填入到B表

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/6 14:24:00 [只看该作者]

dt("工龄_年") = e.DataRow("工龄") 
改为
dt("工龄") = e.DataRow("工龄_年") 

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


加好友 发短信
等级:幼狐 帖子:85 积分:722 威望:0 精华:0 注册:2018/5/2 16:58:00
  发帖心情 Post By:2023/4/6 14:31:00 [只看该作者]

还是不行,A表的工龄输入数据后,B表工龄那里还是没有数据,之前试过把两个列名改成一样是没有问题的
[此贴子已经被作者于2023/4/6 14:31:41编辑过]

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


加好友 发短信
等级:幼狐 帖子:85 积分:722 威望:0 精华:0 注册:2018/5/2 16:58:00
  发帖心情 Post By:2023/4/6 14:33:00 [只看该作者]

我在想是不是这段代码的问题,dt(e.DataCol.Name) = e.DataRow(e.DataCol.Name)

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