Foxtable(狐表)用户栏目专家坐堂 → 如何解决删除多条记录时重复提示?


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

主题:如何解决删除多条记录时重复提示?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
如何解决删除多条记录时重复提示?  发帖心情 Post By:2015/1/28 16:00:00 [显示全部帖子]

在表的BeforeDeleteDataRow事件中编写如下代码:

If e.DataRow("YNPay") OrElse e.DataRow("YNKP") Then
    e.Cancel = True
    MessageBox.Show("已付款或已开piao记录不能删除!", "提示")
End If

结果执行删除操作时,选中多条记录删除,选中多少条就有多少遍这样的提示,请问如何解决?只提示一遍“已付款或已开piao记录不能删除”即可

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 16:03:00 [显示全部帖子]

明白了,多谢


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 16:11:00 [显示全部帖子]

在右键快捷菜单中应该如何改写下列代码:
If e.DataRow("YNPay") OrElse e.DataRow("YNKP") Then
e.Cancel = True
MessageBox.Show("已付款或已开piao记录不能删除!", "提示")
End If

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 16:20:00 [显示全部帖子]

老师帮忙 

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 16:53:00 [显示全部帖子]

把代码段1和代码段2放在一起,小递逻辑搞不清楚了,要实现的功能就是:优先判断YNPay和YNKP为真的情况下只提示“已付款或已开piao记录不能删除”(即选中记录中只要有条件为真的情况就只提示,不执行其他操作)否则执行代码段2。

代码段1:
If CurrentTable.Current("YNPay") OrElse CurrentTable.Current("YNKP") Then
    MessageBox.Show("已付款或已开piao记录不能删除!", "提示")
End If

代码段2:
If Tables("Order").Compute("count(BBCheck)", "BBCheck = true") > 0 Then
    If MessageBox.Show("是否删除选中记录?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes
        DataTables("Order").DeleteFor("BBCheck=true")
    End If
Else
    Syscmd.Row.Delete()
End If


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 17:04:00 [显示全部帖子]

这样写如果选中两条记录的时候(一条记录YNPay=true,另一条记录为YNPay=false)结果还是被删除了。是不是得用循环来判断啊?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 17:17:00 [显示全部帖子]

以上条件满足,但如果有选中的逻辑列BBCheck = true") > 0,同样也会被删除。

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/28 23:22:00 [显示全部帖子]


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

再整理一下吧,需要实现的具体功能见图:
1、当“选择”列被打勾时,删除打勾记录 and 是否开piao=FALSE的记录;如果打勾的记录中包括已开piao和未开piao记录,则只删除未开piao记录后并弹出提示“已开piao记录禁止删除”

2、当不使用打勾选择而改用“拖拽框选”时功能同上

3、当同时打勾并框选(如图效果)则只按框选范围处理删除记录,原则也同上。

不知道我说明白了没有

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/29 10:17:00 [显示全部帖子]

我上传了项目,您看一下吧,老师受累了,还是不好使。存在问题:打勾且已开piao的也会被删除,拖拽框选若干记录点删除没反应。

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目13.foxdb


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/1/29 13:44:00 [显示全部帖子]

晕,老师问题还是没有解决啊,麻烦您在我上传的例子中修改一下。框选的记录点删除什么反应也没有,勾选两条记录(一个已开piao一个未开piao)仍然都删除了。

[此贴子已经被作者于2015-1-29 13:53:21编辑过]

 回到顶部
总数 14 1 2 下一页