Foxtable(狐表)用户栏目专家坐堂 → [求助]“表A”和“表B”同有一列“客户”列,当“表B”的客户数据发生改变时,“表A”的相应客户信息也同步改变,不使用关联表,如何写代码?


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

主题:[求助]“表A”和“表B”同有一列“客户”列,当“表B”的客户数据发生改变时,“表A”的相应客户信息也同步改变,不使用关联表,如何写代码?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/14 9:25:00 [显示全部帖子]

CurrentChanged事件

 

Dim cr As Row = e.Table.Current
If cr IsNot Nothing Then
    Dim idx As Integer = Tables("信息表").FindRow("客户 = '" & cr("客户") & "'")
    If idx >= 0 Then
        Tables("信息表").Position = idx
    End If
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/14 9:39:00 [显示全部帖子]

 是CurrentChanged事件。

 

 如果写在dataColChanged事件,这样写

 

If e.DataCol.name = "客户" Then
    Dim idx As Integer = Tables("信息表").FindRow("客户 = '" & e.DataRow("客户") & "'")
    If idx >= 0 Then
        Tables("信息表").Position = idx
    End If
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/15 10:56:00 [显示全部帖子]

 4楼代码没问题。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/15 11:03:00 [显示全部帖子]

 两个都要写。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/16 10:45:00 [显示全部帖子]

没问题啊

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/16 11:02:00 [显示全部帖子]

 升级到最新版foxtable打开。代码没问题。肯定是你代码写错事件了。加入msgbox看是否弹出值。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/16 14:34:00 [显示全部帖子]

15楼项目没问题,修改客户列,回车,右边的数据就会变。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/16 17:47:00 [显示全部帖子]

 你以后问问题,要说清楚明白,你要问金额列的值为什么不对。

 

If e.DataCol.name = "客户" Then
    Dim idx As Integer = Tables("信息表").FindRow("客户 = '" & e.DataRow("客户") & "'")
    If idx >= 0 Then
        Tables("信息表").Position = idx
    End If
End If

If e.DataCol.name = "金额" AndAlso Forms("信息表窗口").Opened Then
    Forms("信息表窗口").Controls("RecordGrid1").refresh
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/16 20:57:00 [显示全部帖子]

If Forms("信息表窗口").Opened Then
    Select Case e.DataCol.name
        Case "金额", "其余", "其余"
            Forms("信息表窗口").Controls("RecordGrid1").refresh
    End Select
End If


 回到顶部