Foxtable(狐表)用户栏目专家坐堂 → 数据更新后弹窗提醒


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

主题:数据更新后弹窗提醒

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
数据更新后弹窗提醒  发帖心情 Post By:2016/1/7 14:25:00 [只看该作者]

依样画瓢

 

计划管理

 

系统提醒

 

'''

Static ib As Boolean

Dim f As WinForm.Form = Forms("系统提醒")

Dim fw As Integer = 250

Dim fh As Integer = 250

Dim k As  Integer = 1

If k > 0 AndAlso f.Opened = False Then

    f.Open(SysInfo.WorkingAreaWidth-fw,SysInfo.WorkingAreaHeight)

End If

 

If f.Opened Then

    Dim h As Integer = SysInfo.ScreenHeight - SysInfo.WorkingAreaHeight + fh

    If f.BaseForm.Top > SysInfo.WorkingAreaHeight - fh Then

        For i As Integer = 1 To h

            f.setbounds(SysInfo.WorkingAreaWidth-fw,SysInfo.WorkingAreaHeight-i,fw-19,fh)

        Next

    End If

End If

是按照时间间隔 弹窗提醒 我想达成这样的效果 比如说 调度部把配载好的数据提交到客服部时 客服部收到弹窗提醒有多少条数据已经提交过来 请跟进  相应的客服部完成工作后提交到下一部门 下一部门也收到提醒 以此类推 只要收到提醒的部门不对弹窗做出相应操作 会一直按时间间隔重复提醒 直到标记已读 我在论坛上搜 有这方面的需求 但是都没有做到最好的效果  能否不需要编辑提醒信息 也就是说不建立提醒事件表  把触发提醒事件加载到提交按钮中内容为

调度部提交 "& count &"  到客服部  以此类推 客服到统计 count如果为零则不触发  用户有分组 "调度,客服,统计,车队" 请教红版能否在下面的代码中增加

Dim Cols1() As String = {"甲方客户","项目","下单日期","MK号","DO号","城市","客户","送货地址","物料代码","数量","体积","重量","承运商","司机","车牌","车数","车型","出车日期","车辆属性","备注","特殊要求","司机搬运费","跟车搬运","人数","订单编号"}
Dim Cols2() As String = {"甲方客户","项目","下单日期","MK号","DO号","城市","客户","送货地址","物料代码","数量","体积","重量","承运商","司机","车牌","车数","车型","出车日期","车辆属性","备注","特殊要求","司机搬运费","跟车搬运","人数","订单编号"}
Dim count As Integer = 0
Dim ls As new List(of Row)
Dim dic As new Dictionary (Of DataRow, Row)
systemready = False
For Each r As Row In Tables("配载订单").GetCheckedRows
    If r.IsNull("订单编号") = False
        Dim Filter = "[订单编号] = '" & r("订单编号") & "'"
        Dim dr As DataRow = DataTables("客服跟单").sqlFind(filter)
        If dr Is Nothing Then
            ls.Add(r)
            count += 1
        Else
            dic.add(dr, r)
        End If
    End If
Next

Dim p As WinForm.ProgressBar
p = e.Form.Controls("ProgressBar1")
If ls.count > 0 Then
    p.Visible = True
    p.Maximum =  ls.Count - 1 '设置最大值
    p.Minimum = 0 '设置最小值
    p.Value = 0 '设置当前值
End If
Dim idx As Integer = 0
DataTables("配载订单").StopRedraw
For Each r As Row In ls
    Dim dr As DataRow = DataTables("客服跟单").AddNew
    For i As Integer = 0 To Cols1.Length -1
        If r.IsNull(Cols1(i)) Then
            dr(Cols2(i)) = Nothing
        Else
            dr(Cols2(i)) = r(Cols1(i))
           
        End If
       
    Next
    idx += 1
    p.Value = idx
    r("订单状态") = "已提交"
    'r.Remove()
Next
For Each key As DataRow In dic.Keys
    Dim r As Row = dic(key)
    Dim dr As DataRow = key
    For i As Integer = 0 To Cols1.Length -1
        If r.IsNull(Cols1(i)) Then
            dr(Cols2(i)) = Nothing
        Else
            dr(Cols2(i)) = r(Cols1(i))
        End If
    Next
Next

DataTables("配载订单").ResumeRedraw
p.Visible = False

systemready = True
msgbox("共有 "& count &" 条数据提交" )
Tables("配载订单").save
Tables("配载订单").ClearCheckedRows

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/7 14:46:00 [只看该作者]

加一个状态列,没处理的,就赋值 未处理。

 

然后做一个计划,统计有多少行没处理的,然后弹出提示即可。


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2016/1/7 15:21:00 [只看该作者]

意思是 在表中加一列状态列 提交过来后默认值是未处理 然后做计划统计该表未处理的行进行提示对吗?

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/7 15:24:00 [只看该作者]

 是,添加过去的时候,可以给状态列赋值,用默认值也可以。

 

 


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2016/1/7 15:51:00 [只看该作者]

有这么个疑问 客服有好多人 其中一人 在弹窗提醒的时候 做出了处理 比如状态列变为已处理 那么其他同事就没有了弹窗

 如果忽略

 For i As Integer = 1 To 300 Step 3
    e.form.setbounds(SysInfo.WorkingAreaWidth-580,SysInfo.WorkingAreaHeight-300+i,580,300)
Next
e.Form.close
MyTimers("计划1").Enabled = True

 

等于内容不变 下一次还是会弹 如果间隔时间长倒也没所谓 但又失去了提醒的意义 时间短又不胜其烦 这个有没有好方法解决

 

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/7 15:58:00 [只看该作者]

你处理以后,修改状态列的值,并保存数据啊。

 

你compute统计的时候,用sqlCompute统计到底有多少没处理的,没处理的就提示啊。


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2016/1/7 17:07:00 [只看该作者]

Static ib As Boolean

Dim f As WinForm.Form = Forms("系统提醒")

Dim fw As Integer = 250

Dim fh As Integer = 250

Dim k As  Integer = 1

If k > 0 AndAlso f.Opened = False Then

    f.Open(SysInfo.WorkingAreaWidth-fw,SysInfo.WorkingAreaHeight)

End If

 

If f.Opened Then

    Dim h As Integer = SysInfo.ScreenHeight - SysInfo.WorkingAreaHeight + fh

    If f.BaseForm.Top > SysInfo.WorkingAreaHeight - fh Then

        For i As Integer = 1 To h

            f.setbounds(SysInfo.WorkingAreaWidth-fw,SysInfo.WorkingAreaHeight-i,fw-19,fh)

        Next

    End If

End If

这段代码要加入判断吧 分别统计各张表 表中是否提醒状态为:是 才弹出相应窗口 还是把所有统计都放在一个窗口中


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/7 17:09:00 [只看该作者]


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2016/1/7 17:34:00 [只看该作者]

不是这个意思 容我整理一下 同一张表 我想只统计出未加载到前台的最新数据进行提醒 有可能已经加载 但状态未改 所以弹窗依然显示有数据 那么如果在加载到前台的时候顺便改变状态

比如我把数据加载到前台 同时改变表中是否提醒状态  弹窗依然在 只是统计数为零 以此为前提 另外一个同事比我晚登陆系统 弹窗告诉他后台0条数据需要更新 那他如果傻傻的就是不更新 认为没数据 这个功能就没什么作用了

 


图片点击可在新窗口打开查看此主题相关图片如下:2016-01-07_173635.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/7 17:38:00 [只看该作者]

不理解你什么意思,SqlCompute就是统计有多少啊

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