以文本方式查看主题

-  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=157054)

--  作者:lzgt
--  发布时间:2020/9/29 18:39:00
--  增加行时报错!
今天莫名的出现新增行时报错的情况! 找了很久都没找出原因,还请帮助!

报错信息如下:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:
详细错误信息:
\'=\' 附近有语法错误。

代码如下:

        Case "明细新增"
            Dim tb1 As Table = Tables("tblckydcgrkmx")

            If e.Form.Controls("khbh").value IsNot Nothing Then
                tb1.AllowEdit = True
                tb1.AllowAddNew = True
                tb1.AddNew
                tb1.Select(tb1.RowSel,tb1.Cols("djlb").Index)
            Else
                Messagebox.show("需先确定客户名称","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
            End If

tb1表的 增加行前事件 BeforeAddDataRow

If e.DataTable.DataRows.Count > 0 Then \'如果不是一个空表
    Dim dr As DataRow = e.DataTable.DataRows(e.DataTable.DataRows.Count - 1) \'获得最后一行

    If dr.IsNULL("djlb") OrElse  dr.IsNULL("xmbh2")  Then
      MessageBox.show("请补全定单信息")
      e.Cancel = True
    End If
End If


增加一行时执行DataRowAdding

If Forms("frmcg04cgrkedit").Opened  Then

    E.DataRow("gkph") = newnumber("管控批号")

    E.DataRow("yddh") = newnumber("异动编号")

    e.DataRow("djbh") = Forms("frmcg04cgrkedit").Controls("djbh").value

    e.DataRow("djrq1") = Date.Today

    e.DataRow("wldw1") = Forms("frmcg04cgrkedit").Controls("khbh").value

    e.DataRow("dwmc1") = Forms("frmcg04cgrkedit").Controls("DropBoxwlkh").value

    E.DataRow("sysbz") = "手动新增"

End If


用MessageBox.Show 测式 报错应该在 BeforeAddDataRow 事件后,DataRowAdding事件前 (全局表中无相应代码),请教问题错误可能在那里。



--  作者:有点蓝
--  发布时间:2020/9/29 20:08:00
--  
newnumber是什么东西?

其它地方看不出有什么问题

--  作者:lzgt
--  发布时间:2020/9/30 7:59:00
--  
你好,我用用MessageBox.Show测式 报错应该在 BeforeAddDataRow事件后,DataRowAdding事件前发生的,报错时DataRowAdding还没有执行。
--  作者:lzgt
--  发布时间:2020/9/30 8:19:00
--  
我还测试过,这两个事件代码全去掉,报错还是发生。不知新增行过程中还触发了什么事件?
--  作者:有点蓝
--  发布时间:2020/9/30 8:37:00
--  
这个表还有其它事件吗?有没有表达式列?有没有设置列属性?列属性里有没有用到条件表达式?
[此贴子已经被作者于2020/9/30 8:37:28编辑过]