以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 条件删除指定表内容提示错误。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=57993) |
-- 作者:wumingrong1 -- 发布时间:2014/10/9 17:48:00 -- [求助] 条件删除指定表内容提示错误。 我在表BeforeDeleteDataRow中写有以下命令;想实现当我点击删除按钮时,”业务名称“全部为空的情况下,能够删除"机房板件端口表"中符号条件的行;但是在条件符号的情况下提示错误,帮我看看命令错在哪? Dim dr As DataRow = e.DataRow If dr("设备编号") Is Nothing Then Dim fdr As DataRow = DataTables("机房板件端口表").Find("设备名称 = \'" & dr("设备名称") & "\' and 设备型号 = \'" & dr("设备型号") & "\' and 板件型号 = \'" & dr("板件型号") & "\' and 机房名称 = \'" & dr("机房名称") & "\' and 板件槽位 = \'" & dr("板件槽位") & "\' And 业务名称 Is not null") If fdr IsNot Nothing Then msgbox("该板件端口配有业务,不能删除") e.Cancel = True Else DataTables("机房板件端口表").DeleteFor("设备名称 = \'" & dr("设备名称") & "\' and 设备型号 = \'" & dr("设备型号") & "\' and 板件型号 = \'" & dr("板件型号") & "\' and 机房名称 = \'" & dr("机房名称") & "\' and 板件槽位 = \'" & dr("板件槽位") & "\'") End If End If
[此贴子已经被作者于2014-10-10 9:03:50编辑过]
|
-- 作者:Bin -- 发布时间:2014/10/9 17:52:00 -- 调试一下看看是那一行报错,某个地方有空值吧 |
-- 作者:wumingrong1 -- 发布时间:2014/10/10 9:19:00 -- 插入 Output.Show(1) 好像没什么反应。 |
-- 作者:有点甜 -- 发布时间:2014/10/10 9:21:00 -- 回复3楼,你去看看你的删除行事件是否写了什么代码啊,可能触发了那里的代码了。 |
-- 作者:wumingrong1 -- 发布时间:2014/10/10 9:42:00 -- 测试了一下,如果没有下面红色部分这个判断条件,命令就可以正常执行;加入该判断命令就不行。(该命令的作用是想 判断 如果当前表“机房设备板件表”的‘设备编号’列未输入内容,就执行下面的命令) Dim dr As DataRow = e.DataRow If DataTables("机房设备板件表").DataCols("设备编号") Is Nothing Then Dim fdr As DataRow = DataTables("机房板件端口表").Find("设备名称 = \'" & dr("设备名称") & "\' and 设备型号 = \'" & dr("设备型号") & "\' and 板件型号 = \'" & dr("板件型号") & "\' and 机房名称 = \'" & dr("机房名称") & "\' and 板件槽位 = \'" & dr("板件槽位") & "\' And 业务名称 Is not null") \'Dim fdr As DataRow = DataTables("机房板件端口表").Find("设备名称 = \'" & dr("设备名称") & "\' and 设备型号 = \'" & dr("设备型号") & "\' and 板件型号 = \'" & dr("板件型号") & "\' and 机房名称 = \'" & dr("机房名称") & "\' and 板件槽位 = \'" & dr("板件槽位") & "\' and 设备编号 = \'" & dr("设备编号") & "\' and 业务名称 is not null") If fdr IsNot Nothing Then msgbox("有内容,不能删除") e.Cancel = True Else DataTables("机房板件端口表").DeleteFor("设备名称 = \'" & dr("设备名称") & "\' and 设备型号 = \'" & dr("设备型号") & "\' and 板件型号 = \'" & dr("板件型号") & "\' and 机房名称 = \'" & dr("机房名称") & "\' and 板件槽位 = \'" & dr("板件槽位") & "\'") End If End If
|
-- 作者:有点甜 -- 发布时间:2014/10/10 9:45:00 -- 改成
If e.DataRow.Isnull("设备编号") Then |