Foxtable(狐表)用户栏目专家坐堂 → [求助] 条件删除指定表内容提示错误。


  共有3450人关注过本帖树形打印复制链接

主题:[求助] 条件删除指定表内容提示错误。

帅哥哟,离线,有人找我吗?
wumingrong1
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 条件删除指定表内容提示错误。  发帖心情 Post By: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


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141009174610296.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2014-10-10 9:03:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/9 17:52:00 [只看该作者]

调试一下看看是那一行报错,某个地方有空值吧

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/10 9:19:00 [只看该作者]

插入  Output.Show(1) 好像没什么反应。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/10 9:21:00 [只看该作者]

 回复3楼,你去看看你的删除行事件是否写了什么代码啊,可能触发了那里的代码了。

 回到顶部
帅哥哟,离线,有人找我吗?
wumingrong1
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/10 9:45:00 [只看该作者]

改成

 

If e.DataRow.Isnull("设备编号") Then 


 回到顶部