以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  功能求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=143378)

--  作者:outcat
--  发布时间:2019/11/22 11:37:00
--  功能求助
我现在想实现一个这样的功能怎么做

我要在每天的固定时间内,系统自动生成日报表数据,比如 23:59分 的时候自动的向 日报表这张表中自动的添加数据,设计成手动吧,是因为有时候操作员不在或者忘记了点 生成日报数据。

首先这个固定时间应该在哪块设置,怎么设置,这块功能实现的相关教程在哪块呢


--  作者:狐狸爸爸
--  发布时间:2019/11/22 11:51:00
--  
参考:



Static last As Date
If Date.now.Hour > 23 AndAlso Date.now.Minute >= 58 AndAlso(Date.now - Last).TotalHours > 23 Then
    last = Date.now \'记录执行时间,用于比较
    这里是需要定期执行的代码
End If

--  作者:outcat
--  发布时间:2019/11/22 20:01:00
--  
Static last As Date
If Date.now.Hour > 19 AndAlso Date.now.Minute >= 55 AndAlso(Date.now - Last).TotalHours > 19 Then
    last = Date.now \'记录执行时间,用于比较
    \'这里是需要定期执行的代码
    Tables("日报表").AddNew
    
    Dim d As Date
    
    d = Date.today
    
    Tables("日报表").Current("操作员")=_UserName
    Tables("日报表").Current("日期") = d
    
    Tables("日报表").Current("日常支出") = DataTables("日常费用支出总表").Compute("sum(总金额)","日期 = \'#" & d & "#\'")
    
    Tables("日报表").Current("其它收入") = DataTables("其它收入总表").Compute("sum(总金额)","日期 = \'#" & d & "#\'")
    
    Tables("日报表").Current("厂家订货") = DataTables("供应商订货总表").Compute("sum(打款总额)","日期 = \'#" & d & "#\'")
    
    Tables("日报表").Current("客户订金") = DataTables("客户订货总表").Compute("sum(预付订金)","日期 = \'#" & d & "#\'")
    
    Tables("日报表").Current("营业收入") = DataTables("客户订货总表").Compute("sum(实付金额)","日期 = \'#" & d & "#\'")
    
    Tables("日报表").Current("采购支出") = DataTables("采购总表").Compute("sum(总金额)","日期 = \'#" & d & "#\'")
    
    Tables("日报表").Current("总支出") = DataTables("日常费用支出总表").Compute("sum(总金额)","日期 = \'#" & d & "#\'")+ DataTables("日常费用支出总表").Compute("sum(总金额)","日期 = \'#" & d & "#\'")+ DataTables("供应商订货总表").Compute("sum(打款总额)","日期 = \'#" & d & "#\'")
    
    Tables("日报表").Current("总收入") = DataTables("其它收入总表").Compute("sum(总金额)","日期 = \'#" & d & "#\'")+ DataTables("客户订货总表").Compute("sum(预付订金)","日期 = \'#" & d & "#\'")+ DataTables("客户订货总表").Compute("sum(实付金额)","日期 = \'#" & d & "#\'")
    
    Tables("日报表").Current.save
    DataTables("日报表").save
End If

老师,请帮忙看一下,我设置的这个自动往表里添加数据的计划怎么执行不了

--  作者:有点蓝
--  发布时间:2019/11/22 20:26:00
--  
计划管理启动了吗?

上面的代码操作的都是"日报表"的当前行,其他行数据不会变

.Compute("sum(总金额)","日期 = \'#" & d & "#\'"),日期条件单引号和#号只能使用一种:http://www.foxtable.com/webhelp/topics/2343.htm

--  作者:有点蓝
--  发布时间:2019/11/22 20:27:00
--  
如果要做统计,建议参考这个:http://www.foxtable.com/webhelp/topics/1472.htm

完全没有必要不停的统计,效率非常低

--  作者:outcat
--  发布时间:2019/11/22 21:07:00
--  
老师,我的这个计划时间间隔是 24小时执行一次 时间间隔设的是86400000,也就是在每天的那个固定的时间只要程序启动,后台自动生成一条记录,上面的代码是哪块除了问题,关于这个 当前行,如果是间隔这么长时间,用当前行实现可以吧
--  作者:有点蓝
--  发布时间:2019/11/22 21:50:00
--  
时间间隔设置为4分钟一次,如果是 24小时执行一次是永远都执行不了的