Foxtable(狐表)用户栏目专家坐堂 → [求助]主表中如何自动填写字表内容!!


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

主题:[求助]主表中如何自动填写字表内容!!

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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
[求助]主表中如何自动填写字表内容!!  发帖心情 Post By:2019/2/11 22:40:00 [只看该作者]

各位老师新年好!!
在我的项目中,有如下一个窗口,是父窗口和子窗口同屏,如下图:

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

表“资质证件”与表“证书专业明细”建立了关联,在子表“证书专业明细”表属性的“DataColChanged”中的代码如下,目的是想在窗口中操作时,当子表中的“到期日期”值发生改变后,自动将“登记人”和“登记时间”填入到表中,然而,运行时,总是失败,不能自动填入,而单独在子表中(非窗口)操作又是可以自动填入“登记人”和“登记时间”,找不到如何更正,请大师帮忙,谢谢了!!
Select Case e.DataCol.Name
    Case "培训日期","有效期"
        If e.DataRow.IsNull("培训日期") OrElse e.DataRow.IsNull("有效期") Then
            e.DataRow("到期日期") = Nothing
            If e.DataRow.Isnull("培训日期") Then
                e.DataRow("有效期") = Nothing                
                MessageBox.show("培训日期不能空!","操作错误!",MessageBoxButtons.OK,MessageBoxicon.Error)                
            End If
        Else
            Select Case e.DataRow("有效期")
                Case "一年"
                    e.DataRow("到期日期") = e.DataRow("培训日期").AddYears(1)                    
                Case "两年"
                    e.DataRow("到期日期") = e.DataRow("培训日期").AddYears(2)                                     
                Case "三年"
                    e.DataRow("到期日期") = e.DataRow("培训日期").AddYears(3)                          
            End Select
                    Tables("证书专业明细").Current("登记人") = _UserName
                    Tables("证书专业明细").Current("登记时间") = Date.now
        End If
End Select

窗口运行如下图:

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



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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/11 22:50:00 [只看该作者]

Tables("证书专业明细").Current("登记人") = _UserName
Tables("证书专业明细").Current("登记时间") = Date.now

改为

e.DataRow("登记人") = _UserName
e.DataRow("登记时间") = Date.now

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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
  发帖心情 Post By:2019/2/11 23:01:00 [只看该作者]

谢 谢老师的指点,还请问老师,他们之间在用法上有什么区别吗?谢谢!!

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


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

 

在事件里面,尽量使用 e.datarow 或者 e.row,在按钮或者无法确定引用e参数的时候,用 tables("").current,而且你的表名要写对(副本表和主表的表名不同)

 


 回到顶部