Foxtable(狐表)用户栏目专家坐堂 → [求助]双表对应的行自动更新


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

主题:[求助]双表对应的行自动更新

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


加好友 发短信
等级:一尾狐 帖子:485 积分:4069 威望:0 精华:0 注册:2015/12/16 8:22:00
[求助]双表对应的行自动更新  发帖心情 Post By:2016/3/29 11:16:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:飞信截图20160329110624.png
图片点击可在新窗口打开查看

如上表两个表中均有“项目编号”和“表单编号”两个行,需要实现如下功能:

如果表一有更新数据的时候,表二能根据设定如下条件自动更新数据:

1.表二能根据表一列出的“项目编号”和“表单编号”自动更新,若在“项目编号”和“表单编号”同时存在的话将不会重复再写入,不一样的时候将继续写入;

2.若表一数据有变更的时候,表二的数据能依照第一点的要求自动更新;

请问应该如何处理?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/29 11:35:00 [只看该作者]

帮助本来就有。

 

http://www.foxtable.com/help/topics/2490.htm

 


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


加好友 发短信
等级:一尾狐 帖子:485 积分:4069 威望:0 精华:0 注册:2015/12/16 8:22:00
  发帖心情 Post By:2016/3/29 11:48:00 [只看该作者]

之前有印象,今天找了好久没有找到,谢谢老师了

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


加好友 发短信
等级:一尾狐 帖子:485 积分:4069 威望:0 精华:0 注册:2015/12/16 8:22:00
  发帖心情 Post By:2016/3/29 15:54:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:7.png
图片点击可在新窗口打开查看


我根据帮助设置了代码,但有如下问题:

1.在表一新增了,需要在表一点几次重置列之后才能更新到表二;
2.更新到表二应该是自动保存的,但后台查阅数据还是未保存状态,请问如何处理可以做到实时更新及自动保存;

Select Case e.DataCol.name
    Case "报告表单编号"
        Dim dr As DataRow = DataTables("T_TestF").Find("报告表单编号 = '" & e.OldValue & "'")
        If dr Is Nothing Then 
            dr = DataTables("T_TestF").AddNew()
            dr("报告表单编号") = e.DataRow("报告表单编号")
            dr("报告编号") = e.DataRow("报告编号")
            dr("表单编号") = e.DataRow("表单编号")
        Else
            dr("报告表单编号") = e.DataRow("报告表单编号")
        End If
    Case "报告编号","表单编号"
        Dim dr As DataRow = DataTables("T_TestF").Find("报告表单编号 = '" & e.DataRow("报告表单编号") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select
[此贴子已经被作者于2016/3/29 15:54:04编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/29 16:21:00 [只看该作者]

Select Case e.DataCol.name
    Case "报告表单编号"
        Dim dr As DataRow
        If e.oldvalue = Nothing Then
            dr = DataTables("T_TestF").Find("报告表单编号 = '" & e.newvalue & "'")
        Else
            dr = DataTables("T_TestF").Find("报告表单编号 = '" & e.oldvalue & "'")
        End If
        If dr Is Nothing Then
            dr = DataTables("T_TestF").AddNew()
            dr("报告表单编号") = e.DataRow("报告表单编号")
            dr("报告编号") = e.DataRow("报告编号")
            dr("表单编号") = e.DataRow("表单编号")
        Else
            dr("报告表单编号") = e.DataRow("报告表单编号")
        End If
        dr.save
    Case "报告编号","表单编号"
        Dim dr As DataRow = DataTables("T_TestF").Find("报告表单编号 = '" & e.DataRow("报告表单编号") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
            dr.save
        End If
End Select

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


加好友 发短信
等级:一尾狐 帖子:485 积分:4069 威望:0 精华:0 注册:2015/12/16 8:22:00
  发帖心情 Post By:2016/3/29 18:02:00 [只看该作者]

还是没有办法做到实时更新;

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/29 18:07:00 [只看该作者]

肯定能实时更新的,不然你做个具体例子发上来测试,说明怎么不能实时更新。

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


加好友 发短信
等级:一尾狐 帖子:485 积分:4069 威望:0 精华:0 注册:2015/12/16 8:22:00
  发帖心情 Post By:2016/3/29 18:22:00 [只看该作者]

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


老师,在窗口中添加报告项目明细之后就会填写入T_Item表中

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/29 18:32:00 [只看该作者]

不要用表达式列。

 

 

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


 回到顶部