Foxtable(狐表)用户栏目专家坐堂 → 如何设置到期提醒功能


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

主题:如何设置到期提醒功能

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/31 12:14:00 [只看该作者]

文件上传:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78

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


加好友 发短信
等级:幼狐 帖子:88 积分:574 威望:0 精华:0 注册:2018/1/28 23:08:00
  发帖心情 Post By:2018/3/31 12:34:00 [只看该作者]

是的,已经放在afteropenproject里,这是我这个项目afteropenproject里的所有代码,三个部分,一个是自动更新功能,一个是不同用户显示不同的列,第三个就是想实现到期自动提醒功能
try
    UpdatePath = "ftp://bigpeng:A1234@47.96.7.165/Update/"
    Network.DownloadFile(updatePath & "update.txt", projectPath & "temp/update.txt" ,"" ,"" ,True, 100000, True) '下载update.txt文件
    Dim ud() As String = FileSys.ReadAllText(projectPath & "temp/update.txt").Split("|") '获取文件内容
    Dim Sdate1 As Date = Cdate(ud(0)) '服务器update.txt发布日期
    Dim Sdate2 As Date = Cdate(ud(1)) '服务器Version.txt发布日期
    Dim Cdate1 As Date = PublishDate '客户端发布日期
    Dim Cdate2 As Date = FileSys.ReadAllText(ProjectPath & "\Bin\Version.txt") '客户端Version.txt发布日期
    If Sdate2 > Cdate2 Then
        msgbox("大版本")
        Network.DownloadFile(updatePath & "update2.zip", projectPath & "temp/update2.zip" ,"" ,"" ,True, 100000, True)
        UpdatePath = projectPath & "temp/"
        Syscmd.Project.Update(False,False)
    ElseIf Sdate1 > Cdate1 Then
        msgbox("小版本")
        Network.DownloadFile(updatePath & "update1.zip", projectPath & "temp/update1.zip" ,"" ,"" ,True, 100000, True)
        UpdatePath = projectPath & "temp/"
        Syscmd.Project.Update(False,False)
    End If
    
catch ex As exception
    msgbox(ex.message)
    msgbox("下载失败")
End try
 
If   User.Name <> "开发者" Then
    Tables("一站式多中心").Cols.Remove("上传单位")
    Tables("一站式多中心").Cols.Remove("上传时间")
    Tables("一站式多中心").Cols.Remove("编号")
End If
Dim dr As DataRow = DataTables("一站式多中心").sqlFind("DateDiff('d', 检查时间, Date()) >= 90 and 随访_3个月_是否随访=false")
If dr IsNot Nothing Then
    MessageBox.Show("您有随访尚未完成,请注意红色标识部分!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Tables("一站式多中心").Filter = "DateDiff('d', 检查时间, Date()) >= 90 and 随访_3个月_是否随访=false"
    MainTable = Tables("一站式多中心")
End If

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/31 15:02:00 [只看该作者]

执行sql自己看看是否有符合条件的数据

select * from 一站式多中心 where DateDiff('d', 检查时间, Date()) >= 90 and 随访_3个月_是否随访=false

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


加好友 发短信
等级:幼狐 帖子:88 积分:574 威望:0 精华:0 注册:2018/1/28 23:08:00
  发帖心情 Post By:2018/3/31 15:28:00 [只看该作者]

编程语言我实在不懂,我贴出我这个功能的实现情况,还请版主支招

此主题相关图片如下:360截图20180331152202490.jpg
按此在新窗口浏览图片
经过这里的代码,实现了标红的功能(见下图)

此主题相关图片如下:360截图20180331152047545.jpg
按此在新窗口浏览图片

此主题相关图片如下:360截图20180331152126369.jpg
按此在新窗口浏览图片
但是,为了再增加一个文字提醒功能,写入下面的代码后,没有反应

Dim dr As DataRow = DataTables("一站式多中心").sqlFind("DateDiff('d', 检查时间, Date()) >= 90 and 随访_3个月_是否随访=false")
If dr IsNot Nothing Then
    MessageBox.Show("您有随访尚未完成,请注意红色标识部分!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If



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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/31 15:43:00 [只看该作者]

请上传具体项目实例说明

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


加好友 发短信
等级:幼狐 帖子:88 积分:574 威望:0 精华:0 注册:2018/1/28 23:08:00
  发帖心情 Post By:2018/3/31 16:21:00 [只看该作者]

好的,这个实例请版主看下,多谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:一站式多中心.zip



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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/31 16:38:00 [只看该作者]

给的例子的列名是

Dim dr As DataRow = DataTables("一站式多中心").sqlFind("DateDiff('d', 检查时间, Date()) >= 90 and 随访_3个月_否随访=false")

改后打开项目就有提醒,测试没有问题。

如果是连接sqlserver,改为

Dim dr As DataRow = DataTables("一站式多中心").sqlFind("DateDiff('d', 检查时间, GetDate()) >= 90 and 随访_3个月_否随访=0")

这个代码放在afteropenproject,只能在打开项目时提醒,如果要时时提醒,代码放到计划管理:http://www.foxtable.com/help/scr/0657.htm

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


加好友 发短信
等级:幼狐 帖子:88 积分:574 威望:0 精华:0 注册:2018/1/28 23:08:00
  发帖心情 Post By:2018/3/31 17:02:00 [只看该作者]

奇怪,我刚刚按照你说的修正后本地版本测试也是可行,但是到我真正的版本上就是没有提示,两个版本的区别主要是一个是本地的,一个是来自sql外部数据源的,我按照您给的提示根据sqlserver修正后也还是不行
Dim dr As DataRow = DataTables("一站式多中心").sqlFind("DateDiff('d', 检查时间, GetDate()) >= 90 and 随访_3个月_是否随访=0")
If dr IsNot Nothing Then
    MessageBox.Show("您有随访尚未完成,请注意红色标识部分!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

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


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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/31 17:14:00 [只看该作者]

以下sql放到外部数据库去执行,看提示什么错误,有没有查询结果,有没有符合条件的数据

select * from 一站式多中心 where DateDiff('d', 检查时间, GetDate()) >= 90 and 随访_3个月_是否随访=0

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


加好友 发短信
等级:幼狐 帖子:88 积分:574 威望:0 精华:0 注册:2018/1/28 23:08:00
  发帖心情 Post By:2018/3/31 17:15:00 [只看该作者]

真是奇怪,我刚刚把测试的那个版本也转为外部数据源,也是可行的,真不知道这个正式版本问题出在哪

 回到顶部
总数 47 上一页 1 2 3 4 5 下一页