以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何设置到期提醒功能  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=116740)

--  作者:bigpeng
--  发布时间:2018/3/30 11:29:00
--  如何设置到期提醒功能
我有个表格需要定期随访功能,也就是在登记日期之后3个月、6个月需要回访一次,应该怎样才能做到根据登记日期后推3个月和6个月,表格中自动予以相应行的红底表示,并跳出一个文字提醒对话框,谢谢
--  作者:有点甜
--  发布时间:2018/3/30 11:30:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/2471.htm

 


--  作者:bigpeng
--  发布时间:2018/3/30 12:02:00
--  
这里已经看过了,因为几乎没有这方面基础,看不太懂,不太会根据我这里的需求进行调整,我的需求是想根据“登记日期”后推90天予以提醒,并且在姓名列和随访列同时予以红底白字标识
--  作者:有点甜
--  发布时间:2018/3/30 12:18:00
--  

编写代码参考

 

http://www.foxtable.com/webhelp/scr/1445.htm

 

http://www.foxtable.com/webhelp/scr/0656.htm

 

http://www.foxtable.com/webhelp/scr/2471.htm

 

如果还不会,看视频教程 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187

 


--  作者:bigpeng
--  发布时间:2018/3/30 12:46:00
--  
在DRAWCELL里尝试这么写代码,提示错误(目的是:如果"随访_3个月_是否随访"这列在“检查时间”+90天后仍是false的,予以“随访提醒” 

If e.Col.Name = "随访_3个月_是否随访" Then
    If e.Row.IsNull("随访_3个月_是否随访") = True
        If e.Row("随访_3个月_是否随访") > e.DataRow("检查时间").AddDays(90) Then
            e.Style = "随访提醒"
        End If
    End If
End If


--  作者:有点甜
--  发布时间:2018/3/30 14:57:00
--  
If e.Col.Name = "随访_3个月_是否随访" Then
    If e.Row("随访_3个月_是否随访") = False Then
        If Date.today >= cdate(e.Row("检查时间")).AddDays(90) Then
            e.Style = "随访提醒"
        End If
    End If
End If

--  作者:bigpeng
--  发布时间:2018/3/30 20:15:00
--  
谢谢甜版,已经实现在"随访_3个月_是否随访"红底白字的提醒,如果我想在相应行的“患者姓名”也出现红底白字的提醒,应该哪里再修正下,我刚刚尝试这么修正,提示错误
If e.Col.Name = "随访_3个月_是否随访" ,"患者姓名Then
    If e.Row("随访_3个月_是否随访") = False Then
        If Date.today >= cdate(e.Row("检查时间")).AddDays(90) Then
            e.Style = "随访提醒"
        End If
    End If
End If

--  作者:bigpeng
--  发布时间:2018/3/30 20:19:00
--  
另外,在项目事件AfterOpenProject应该怎样写入代码,以便打开项目的时候,能够自动提示哪些病人需要随访
(我对着那个帮助实在想不出解决办法,我只能是写好的代码,然后做一些简单的替换)
Dim dt As Date = Date.Today.AddDays(10)
Dim
 dr As DataRow = DataTables("库存表").Find("到期日期 <= #" & dt & "#")
If
 dr IsNot Nothing Then
    MessageBox.Show(
"有产品即将到期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Tables
("库存表").Filter = "到期日期 <= #" & dt & "#"
    
MainTable = Tables("库存表")
End
 If

--  作者:有点蓝
--  发布时间:2018/3/30 20:53:00
--  
回7楼

If e.Col.Name = "随访_3个月_是否随访" orelse  e.Col.Name = "患者姓名Then

回8楼

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


--  作者:bigpeng
--  发布时间:2018/3/30 21:31:00
--  
7楼的方案已经ok,8楼的还是不行,是不是下面这个代码哪里有点小问题,比如检查时间需要加上双引号吗?

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