以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表事件代码在窗口中不能实现  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169569)

--  作者:jjjeyes
--  发布时间:2021/6/21 16:01:00
--  [求助]表事件代码在窗口中不能实现
我在表事件中设置了以下代码:
Select Case e.DataCol.Name
    Case "迟到","早退","旷课","事假","病假","课堂表现分","随堂测验分"
        If e.NewValue Is Nothing Then
            e.DataRow("课外作业成绩") = Nothing
            e.DataRow("课外作业分") = Nothing
        Else
            Dim xq As Row = Tables("课程明细表3").Current
            Dim dr As DataRow = DataTables("跑步成绩").Find("[学号] = \'" & xq("学号") & "\'")
            If dr IsNot Nothing Then
                e.DataRow("课外作业成绩") = dr("有效次数")
                e.DataRow("课外作业分") = dr("跑步分数")
            End If
        End If
End Select

可是在窗口中将表做为“副本表”用的时候发现跨表引用的内容不对。
请问大虾以上代码存在什么问题?

--  作者:有点蓝
--  发布时间:2021/6/21 16:11:00
--  
代码在哪个表的事件?窗口表副本绑定的是哪个表?
--  作者:jjjeyes
--  发布时间:2021/6/21 16:15:00
--  
代码放在“课程明细表3”的事件里,窗口表也是绑定的“课程明细表3”。
跨表引用后,数据内容每一行都是一样的。
[此贴子已经被作者于2021/6/21 16:17:25编辑过]

--  作者:有点蓝
--  发布时间:2021/6/21 16:16:00
--  
Dim xq As Row = Tables("课程明细表3").Current

改为

Dim xq As Row = e.DataRow

--  作者:jjjeyes
--  发布时间:2021/6/21 16:24:00
--  
Dim xq As Row = e.DataRow
代码不符合规范,改为:Dim xq As DataRow = e.DataRow  可以正常引用了。