以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  按时间自动复制表的多行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146627)

--  作者:15666282205
--  发布时间:2020/2/27 20:45:00
--  按时间自动复制表的多行
老师,想实现以下功能:今天登录后自动把昨天的多行数据复制,并把新增的行日期赋值为今天。以此论推。跨月跨年要考虑。请指教。
--  作者:sloyy
--  发布时间:2020/2/27 21:20:00
--  
Dim f As New Filler  \'数据填充器
f.SourceTable = DataTables("数据A") \'指定数据来源
f.Filter="日期=\'" & Date.today.AddDays(-1) & "\'"    \'筛选昨天的数据
f.DataTable = DataTables("数据B") \'指定数据接收表
f.Fill() \'填充数据
DataTables("数据B").ReplaceFor("日期",Date.today,"日期=\'" & Date.today.AddDays(-1) & "\'" ) \'昨天的日期赋值为今天
DataTables("数据B").save
[此贴子已经被作者于2020/2/27 21:21:05编辑过]

--  作者:15666282205
--  发布时间:2020/3/18 8:23:00
--  
老师,我试验了2楼的代码,基本功能复制上一天的数据实现了,还存在以下问题:1,实际上数据是在一个表里,按日期排序,您的代码是两个表取数,我把数据表AB改成一个表的名字,也实现了复制,不影响使用;2,现在的代码复制行以后,把昨天的日期也改成了今天的,这样就乱了,应该是把今天刚复制的行改成今天的日期,以前的日期不修改,我把表的新增行写入了日期代码,但在这里不起作用;3,应该加个判断,如果今天已经复制一次了,就不再复制昨天的数据,要不我把代码放在窗口启动项里,只要打开窗口就复制,也不行。请老师费心。
--  作者:有点蓝
--  发布时间:2020/3/18 9:25:00
--  
dim maxid as integer = DataTables("数据A").compute("max([_Identify])")

Dim f As New Filler  \'数据填充器
f.SourceTable = DataTables("数据A") \'指定数据来源
f.Filter="日期=\'" & Date.today.AddDays(-1) & "\'"    \'筛选昨天的数据
f.DataTable = DataTables("数据A") \'指定数据接收表
f.Fill() \'填充数据
DataTables("数据A").ReplaceFor("日期",Date.today,"日期=\'" & Date.today.AddDays(-1) & "\' and [_Identify] >" & maxid ) \'昨天的日期赋值为今天
DataTables("数据A").save
[此贴子已经被作者于2020/3/18 15:30:15编辑过]

--  作者:15666282205
--  发布时间:2020/3/18 11:29:00
--  
老师,提示:从字符串“日期=”20200717 and [identify]到类型double的转换无效
--  作者:有点蓝
--  发布时间:2020/3/18 11:33:00
--  
自己改错代码了吧
--  作者:15666282205
--  发布时间:2020/3/18 12:50:00
--  
老师,代码我没动,就是把“数据A”改成了我的“工时表”,其他没动,我又复制了一次,还是提示。还有一个问题,只需要复制其中的"列一"和“列二“,麻烦您完善一下。
[此贴子已经被作者于2020/3/18 12:51:29编辑过]

--  作者:有点蓝
--  发布时间:2020/3/18 13:43:00
--  
看4楼。或者上传实例测试
--  作者:15666282205
--  发布时间:2020/3/18 15:13:00
--  
老师,请看看实例,只复制姓名和产品,工时不复制。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:复制试验.foxdb



--  作者:有点蓝
--  发布时间:2020/3/18 15:31:00
--  
DataTables("表A").ReplaceFor("日期",Date.today,"日期=\'" & Date.today.AddDays(-1) & "\' and [_Identify] >" & maxid ) \'昨天的日期赋值为今天