Foxtable(狐表)用户栏目专家坐堂 → 关联表 BeforeSaveDataRow表事件执行问题


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

主题:关联表 BeforeSaveDataRow表事件执行问题

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


加好友 发短信
等级:三尾狐 帖子:611 积分:4690 威望:0 精华:0 注册:2020/4/15 19:53:00
关联表 BeforeSaveDataRow表事件执行问题  发帖心情 Post By:2020/10/21 21:16:00 [只看该作者]

在主表中操作 新建主表(排课登记表)数据和关联表数据,  关联表(排课明细)里有表事件程序.
程序添加在 关联表(排课明细)的 BeforeSaveDataRow事件里面

代码如下
Dim r As Row = Tables("排课明细").current '当前选中的行
If r Is Nothing Then Return '如果表格没有数据
Dim d As Date = r("开始日期")
Dim d2 As Date = d.AddDays(r("总天数"))
Dim i As Integer = 1
Dim nr As Row
Dim kc As Row
Do While d <= d2
    If d.DayOfWeek = r("星期数字") Then
        nr = Tables("学生排课档案").addnew()
        kc = Tables("课程档案DAY").addnew()
        kc("课程档案编号") = D + r("课时段")
        kc("日期") = d
        kc("星期") = r("星期")
        nr("日期") = d
        nr("星期") = r("星期")
        nr("科目") = r("科目")
        nr("学号") = r("学号")
        nr("姓名") = r("姓名")
        'nr("性别") = r("性别")
        nr("排课编号") = r("排课编号")
        nr("课时段") = r("课时段")
        nr("课程档案编号") = D + r("课时段")
        
        i = 7
    End If
    d = d.AddDays(i)
Loop

在主表 点击保存的时候,关联表事件,只执行,第一个主表的关联表的第一条添加的数据.
后面添加的主表数据,或者关联表数据.在执行时,也是重复多次执行 第一个主表的关联表的第一行数据.
单独在 排课明细表 做保存操作没有问题.
[此贴子已经被作者于2020/10/21 21:21:48编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107745 积分:548064 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/22 8:38:00 [只看该作者]

在表事件里面不能使用current,在使用这个事件之前建议先把这个事件的帮助仔细看看

BeforeSaveDataRow

在保存某一数据行之前执行,可以在此对数据进行最终的验证。

e参数属性:
 
DataTable: 返回正在保存的数据表。
DataRow:   返回正在保存的数据行。
Cancel:   逻辑型,设为True,取消正在进行的保存。


Dim r As DataRow = e.DataRow
Dim d As Date = r("开始日期")
Dim d2 As Date = d.AddDays(r("总天数"))

Dim i As Integer = 1

 回到顶部