以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]DataRowDeleting 删除是提示系统问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81528)

--  作者:blsu33
--  发布时间:2016/2/29 17:42:00
--  [求助]DataRowDeleting 删除是提示系统问题
红袍老师,
    DataRowDeleting 表事件,下面标注颜色的部分,不知道为什么执行有问题,直接导致系统错误,退出,麻烦您给看看!

\'
\'回收编号开始
Dim dt3 As DataTable= e.DataTable
If dt3.DataRows.count>0 Then
    Dim dr1 As DataRow= dt3.DataRows(0)
    If e.DataRow.Isnull(dr1("Colname"))=False Then
        Dim dr As DataRow
        If dr1.IsNull("Preletter")=False Then
            Dim str As String() = e.DataRow(dr1("Colname")).Split("-")
            Dim dt1 As Date=CDate("20" & str(1).SubString(0,2) & "-" & str(1).SubString(2,2) & "-" & str(1).SubString(4,2))
            If dt1>=Date.Today Then
                dr=DataTables("AS017编号回收表").AddNew()
                                DataTables("AS017编号回收表").Save
            End If
        Else
MessageBox.Show(1)‘这块显示,后面就提示错误了
            dr=DataTables("AS017编号回收表").AddNew()
MessageBox.Show(dr("Tablename"))
            dr("Tablename")=e.DataTable.name
            dr("顺序编号")=e.DataRow(dr1("Colname"))
            DataTables("AS017编号回收表").Save
        End If
    End If
End If
\'回收编号结束
[此贴子已经被作者于2016/2/29 17:48:31编辑过]

--  作者:大红袍
--  发布时间:2016/2/29 17:44:00
--  
去看看回收表的增加行事件,应该有问题
--  作者:blsu33
--  发布时间:2016/2/29 17:44:00
--  
]
[此贴子已经被作者于2016/2/29 17:48:46编辑过]

--  作者:大红袍
--  发布时间:2016/2/29 17:47:00
--  
 看2楼。
--  作者:blsu33
--  发布时间:2016/2/29 17:48:00
--  
真乃神人也

测试来的 在回收表录入的代码 忘了删除

--  作者:blsu33
--  发布时间:2016/2/29 17:54:00
--  
红袍老师,
发现另外一个问题

DataRowDeleting

正在删除一行的时候执行,这时行还未被删除。

e参数属性: 

DataTable:返回要删除行的数据表。
DataRow:  返回要删除的数据行。


我在自定义函数 使用了 Tables  竟然可以再DataRowDeleting 正常使用,帮助文档可没有这么写,这个是怎么回事呢

Tables("AS017编号回收表").AddNew()
Tables("AS017编号回收表").curent.save.....

Tables  竟然可以使用 



[此贴子已经被作者于2016/2/29 17:54:12编辑过]

--  作者:大红袍
--  发布时间:2016/2/29 17:56:00
--  

 没看懂你的意思,Tables()可以在任意一个地方用。