以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数据更新的代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87994)

--  作者:527383691
--  发布时间:2016/7/24 14:26:00
--  [求助]数据更新的代码

dataColChanged事件

 

If e.DataCol.name = "班级数" Then
    DataTables("表B").DeleteFor("班号 Like \'" & e.DataRow("年级") & "-" & "%\'")
    For i As Integer = 1 To e.dataRow("班级数")
        Dim str As String = e.DataRow("年级") & "-" & i & "班"
        \'Dim fdr As DataRow = DataTables("表B").find("班号 = \'" & str & "\'")
        \'If fdr IsNot Nothing Then
        Dim nr As DataRow = DataTables("表B").AddNew
        nr("班号") = str

 

 

 

 

 

这个代码在我修改【班级数】的时候回把相应的【班号】删掉

 

我希望是修改原记录的时候删除原【班号】填入新【班号】

但是新增加的记录不删除原班号,而是增加一组新【班号】

这个代码要怎么改呢?

 

 

或者当新【班号】这组数组的个数大于原【班号】个数的时候才删掉

[此贴子已经被作者于2016/7/24 14:32:23编辑过]

--  作者:大红袍
--  发布时间:2016/7/24 14:34:00
--  

没看懂你什么意思。

 

If e.DataCol.name = "班级数" Then
    Dim idx as string = DataTables("表B").compute("count(班号)", "班号 Like \'" & e.DataRow("年级") & "-" & "%\'")
    For i As Integer = idx To e.DataRow("班级数")
        Dim str As String = e.DataRow("年级") & "-" & i & "班"
        \'Dim fdr As DataRow = DataTables("表B").find("班号 = \'" & str & "\'")
        \'If fdr IsNot Nothing Then
        Dim nr As DataRow = DataTables("表B").AddNew
        nr("班号") = str