以文本方式查看主题 - 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
|