以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动删除的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=137723)

--  作者:edisontsui
--  发布时间:2019/7/13 15:35:00
--  自动删除的问题
Dim dr As DataRow 
dr = DataTables("出入库").Find("出入库单号 = \'" & e.datarow("出入库单号") & "\'")
If dr("物料编号") Is Nothing Then
   dr.delete
End If

上述代码我想放在《出入库单总表》的事件里面,希望的结果是:当删除《出入库单总表》的某数据行时,就把《出入库》这个数据表里面出入库单号相同而且物料编号为空值的数据行删除掉。但是,无论放在BeforeDeleteDataRow里面,还是DataRowDeleting里面,或者是DataRowDeleted里面,都无法达到效果。请教是哪里的问题?谢谢。

--  作者:有点蓝
--  发布时间:2019/7/13 16:15:00
--  
DataRowDeleting里面

DataTables("出入库").DeleteFor("出入库单号 = \'" & e.datarow("出入库单号") & "\' and 物料编号 is null")

--  作者:edisontsui
--  发布时间:2019/7/15 9:12:00
--  
也就是说,删除的两个条件要一句代码说完,不能分两句来说,对吗?
--  作者:有点蓝
--  发布时间:2019/7/15 10:10:00
--  
一句话搞得定的问题干嘛要分2句
--  作者:edisontsui
--  发布时间:2019/7/15 10:57:00
--  
出现如下警告:

.NET Framework 版本:2.0.50727.8806
Foxtable 版本:2017.3.18.1
错误所在事件:表,出入库单总表,DataRowDeleting
详细错误信息:
调用的目标发生了异常。
从字符串“出入库单号 = \'”到类型“Long”的转换无效。
输入字符串的格式不正确。

--  作者:有点蓝
--  发布时间:2019/7/15 11:14:00
--  
出入库单号是整数列?

DataTables("出入库").DeleteFor("出入库单号 = " & e.datarow("出入库单号") & " and 物料编号 is null")