以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  不同表之间数据修改问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=157740)

--  作者:夜点蚊香
--  发布时间:2020/10/27 12:42:00
--  不同表之间数据修改问题
在排课明细表  BeforeSaveDataRow 事件向 "学生排课档案"表中生产信息,代码如下 如何实现,在排课明细表中 修改排课信息,实现保存后实现 讲修改前向"学生排课档案"中写入的信息删除  然后写入新的排课信息.排课明细表有(排课明细表编号)唯一字段. 如何对比这个字段,进行修改前删除,修改后添加的操作.或者大神有其他好的推荐方案.

请指教

代码如下.

\'建立在学生排课明细
Dim r As DataRow = e.DataRow \'当前选中的行
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
Do While d <= d2
    If d.DayOfWeek = r("星期数字") Then
        nr = Tables("学生排课档案").addnew()
        nr("日期") = d
        nr("星期") = r("星期")
        nr("科目") = r("科目")
        nr("学号") = r("学号")
        nr("姓名") = r("姓名")
        \'nr("性别") = r("性别")
        nr("排课编号") = r("排课编号")
        nr("课时段") = r("课时段")
        nr("课程档案编号") = D + r("校区")+ r("分类")+ r("科目")+ r("课程")+ r("课时段")
        nr("校区") = r("校区")
        nr("分类") = r("分类")
        nr("课程") = r("课程")
        nr("时段") = r("时段")
        nr("上课时间") = r("上课时间")
        nr("下课时间") = r("下课时间")
        nr("排课明细编号) = r("排课明细编号")
        
        i = 7
    End If
    d = d.AddDays(i)
Loop

--  作者:有点蓝
--  发布时间:2020/10/27 13:40:00
--  
修改数据到datacolchanged事件处理:http://www.foxtable.com/webhelp/topics/0625.htm
--  作者:有点蓝
--  发布时间:2020/10/27 13:42:00
--  
如果一定要在BeforeSaveDataRow 事件,可以使用DeleteFor删除指定编号的数据,然后重新生成新数据