以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联 跨表更新记录(以解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=35260)

--  作者:yifan3429
--  发布时间:2013/6/27 14:27:00
--  关联 跨表更新记录(以解决)

If e.DataCol.Name <> "更新时间" Then
    e.DataRow("更新时间") = Date.Now()
End If
If e.DataCol.Name <> "更新人" Then
    e.DataRow("更新人") = User.Name
End If

 

这是原来在 进度 表里面使用的

 

现在项目表和进度表关联  我想[进度]表里面有更新  新增或是删除  或是改变 

项目表里面的更新日期就会更新成当前的日期

 

要怎样修改代码才行   求助

[此贴子已经被作者于2013-6-27 16:45:23编辑过]

--  作者:Bin
--  发布时间:2013/6/27 14:48:00
--  
上例子, 利用FInd 或者获取父表行 等都可以实现.
--  作者:yifan3429
--  发布时间:2013/6/27 15:08:00
--  

需求:如果关联的子表  关联行有 任何变化  修改 新增  删除  父表的跟新人  是登录人   更新日期是当前时期


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

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

上了例子  求高手帮忙

[此贴子已经被作者于2013-6-27 15:10:18编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/6/27 15:09:00
--  

要学会抓住问题,这个问题其实就是一句话:如何获得父行.

首先查看Datarow的全部成员:

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

可以看到GetParentRow方法就是获取父行的:

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

 

你的代码可以改为:

 

Dim pr As DataRow = e.DataRow.GetParentRow("进度")

If e.DataCol.Name <> "更新时间" Then
    e.DataRow("更新时间") = Date.Now()

     if pr Isnot Nothing Then

             pr("更新时间") = Date.Now()

     end If
End If
If e.DataCol.Name <> "更新人" Then
    e.DataRow("更新人") = User.Name

     if pr Isnot Nothing Then

             pr("更新人") = User.Name

     end If

End If

 

更多与关联表和事件相关的:

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

 


--  作者:Bin
--  发布时间:2013/6/27 15:13:00
--  
是不是想这样 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:yifan3429
--  发布时间:2013/6/27 15:46:00
--  

是的就是这个效果  还要请教个问题

如果是  总表   进度   进度记录   我想进度记录发生变化后  总表的更新人  与更新日期   即可更新  可以时间 

   孙子表  联动 爷爷表吗