Foxtable(狐表)用户栏目专家坐堂 → 减少提示次数


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

主题:减少提示次数

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


加好友 发短信
等级:小狐 帖子:336 积分:2984 威望:0 精华:0 注册:2015/8/22 20:07:00
减少提示次数  发帖心情 Post By:2022/10/26 12:27:00 [只看该作者]

项目中有个提示设计,一旦有符合条件的记录就弹出对话框提示,但是操作起来一旦有N个记录满足条件,就有N个提示,这样没必要,如何使得系统就弹出一次提示就结束程序继续往下执行。

If dr1 IsNot Nothing Then
    Tables("注意事项").filter = "开始提示 = 1" 
    MessageBox.Show("有任务已经开始!", "提示", MessageBoxButtons.OK, MessageBoxIcon.information)
End If

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


加好友 发短信
等级:超级版主 帖子:112441 积分:572479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/26 13:32:00 [只看该作者]

在什么事件写代码?完整代码打开发上来

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


加好友 发短信
等级:小狐 帖子:336 积分:2984 威望:0 精华:0 注册:2015/8/22 20:07:00
  发帖心情 Post By:2022/10/26 14:27:00 [只看该作者]

1、窗口afterload事件:
Dim dr1 As DataRow = DataTables("注意事项").Find("提示 = 2 ")

Dim dr3 As DataRow = DataTables("注意事项").Find("开始提示 = 1")



'System.Threading.Thread.Sleep(8000)                          ‘暂停8秒

If dr3 IsNot Nothing Then
    Tables("注意事项").filter = "开始提示 = 1 And 完成 = False" 
    MessageBox.Show("有任务已经开始!", "提示", MessageBoxButtons.OK, MessageBoxIcon.information)
End If

If dr1 IsNot Nothing Then
    Tables("注意事项").filter = "提示 = 2 And 完成 = False" 
    MessageBox.Show("有任务即将到期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If

Dim dr2 As DataRow = DataTables("注意事项").Find("提示 = 3 And 完成 = False")

If dr2 IsNot Nothing Then
    Tables("注意事项").filter = "提示 = 3 And 完成 = False" 
    MessageBox.Show("有任务已经过期!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If

2、还有就是Button Click事件:

Dim dr1 As DataRow = DataTables("注意事项").Find("提示 = 2 ")

Dim dr3 As DataRow = DataTables("注意事项").Find("开始提示 = 1")

If dr3 IsNot Nothing Then
    Tables("注意事项").filter = "开始提示 = 1" 
    MessageBox.Show("有任务已经开始!", "提示", MessageBoxButtons.OK, MessageBoxIcon.information)
End If

If dr1 IsNot Nothing Then
    Tables("注意事项").filter = "提示 = 2" 
    MessageBox.Show("有任务即将到期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If

Dim dr2 As DataRow = DataTables("注意事项").Find("提示 = 3 And 完成 = False")
If dr2 IsNot Nothing Then
Tables("注意事项").filter = "提示 = 3 And 完成 = False" 
MessageBox.Show("有任务已经过期!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If

Tables("注意事项").filter = ""
Tables("注意事项").sort = "排序用,结束日期"

--------
都是这种情况,重复几次弹窗。

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


加好友 发短信
等级:超级版主 帖子:112441 积分:572479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/26 14:35:00 [只看该作者]

如果不想执行后面的代码,退出即可
If dr3 IsNot Nothing Then
    Tables("注意事项").filter = "开始提示 = 1 And 完成 = False" 
    MessageBox.Show("有任务已经开始!", "提示", MessageBoxButtons.OK, MessageBoxIcon.information)
return
End If

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


加好友 发短信
等级:小狐 帖子:336 积分:2984 威望:0 精华:0 注册:2015/8/22 20:07:00
  发帖心情 Post By:2022/10/26 14:58:00 [只看该作者]

我的诉求是下面d3这段代码(绿色代码)要求符合这个条件的弹窗只弹出一次即可,再往下其他的条件的语句还是要继续执行下去的,不是终止。我不用filterfind好像可以解决,我再去试试。

另外还有类似的问题,就是像 for i= 1 to n 这样的循环,如何跳出循环往下继续执行代码,就像那种”exit, 或者 break”语句跳出循环应该怎么写?

[此贴子已经被作者于2022/10/26 15:07:02编辑过]

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


加好友 发短信
等级:超级版主 帖子:112441 积分:572479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/26 15:05:00 [只看该作者]

加一个变量控制
dim s as boolean
If dr3 IsNot Nothing Then
    Tables("注意事项").filter = "开始提示 = 1 And 完成 = False" 
    MessageBox.Show("有任务已经开始!", "提示", MessageBoxButtons.OK, MessageBoxIcon.information)
s=true
End If

以下这部分(红色代码)还是要继续往下执行的:

If dr1 IsNot Nothing Then
    Tables("注意事项").filter = "提示 = 2 And 完成 = False" 
if s = false
    MessageBox.Show("有任务即将到期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
s=true
end if
End If

[此贴子已经被作者于2022/10/26 15:05:04编辑过]

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


加好友 发短信
等级:小狐 帖子:336 积分:2984 威望:0 精华:0 注册:2015/8/22 20:07:00
  发帖心情 Post By:2022/10/26 15:12:00 [只看该作者]

谢谢

 回到顶部