以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于自动勾选已结账选项问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=85689)

--  作者:意悠心轻
--  发布时间:2016/5/31 22:10:00
--  关于自动勾选已结账选项问题
    我想按结账按钮后,冲压车间工资表已结账列自动勾选符合结账条件行。
[此贴子已经被作者于2016/6/26 15:47:33编辑过]

--  作者:大红袍
--  发布时间:2016/5/31 22:43:00
--  

逻辑是什么?根据什么条件,做什么啊?


--  作者:意悠心轻
--  发布时间:2016/5/31 23:11:00
--  

结账按钮里已编好了条件了,只需要符合条件就自动勾选已结账列,我找过相关视频和操作说明,找不到,如果你找到可把连接给我,我想想。


--  作者:大红袍
--  发布时间:2016/5/31 23:15:00
--  

这个意思?

 

Dim d As Date = vars("d1")
Dim filter = "日期 >= #" & d.AddMonths(-1) & "# And 日期 < #" & d & "#"
DataTables("冲压车间工资表").ReplaceFor("_Locked", True, filter)
DataTables("冲压车间工资表").ReplaceFor("已结帐", True, filter)
vars("d1") = d.AddMonths(-1)


--  作者:意悠心轻
--  发布时间:2016/5/31 23:25:00
--  

对,是这种效果了,原来还用上面的ReplaceFor,另外反结账我用下面的代码,却没反应。

Dim d As Date = vars("d2")
Dim filter = "日期 >= #" & d.AddMonths(-1) & "# And 日期 < #" & d & "#"
DataTables("冲压车间工资表").ReplaceFor("_Locked", False, filter)
DataTables("冲压车间工资表").ReplaceFor("已结帐", False, filter)
vars("d2") = d.AddMonths(-1)


--  作者:意悠心轻
--  发布时间:2016/5/31 23:29:00
--  
反结账不对,应从最后的月向上反结,即先反4月,然后3月、2月、1月,结账才按1月、2月、3月、4月顺序。
--  作者:意悠心轻
--  发布时间:2016/5/31 23:40:00
--  
反结账按钮只反了1、2月份,3月没反应了,按钮有问题,我关闭重新打开,又能正常结账、反结账了,但再操作一次结账、反结账,没反应了!
--  作者:Hyphen
--  发布时间:2016/6/1 9:02:00
--  
结账

Dim d As Date = vars("d1")
Dim filter = "日期 >= #" & d & "# And 日期 < #" & d.AddMonths(1) & "#"
If DataTables("冲压车间工资表").Find(filter) IsNot Nothing Then
    DataTables("冲压车间工资表").ReplaceFor("_Locked", True, filter)
    DataTables("冲压车间工资表").ReplaceFor("已结帐", True, filter)
    Vars("d2") = d
    vars("d1") = d.AddMonths(1)
End If


反结账
Dim d As Date = vars("d2")
Dim filter = "日期 >= #" & d & "# And 日期 < #" & d.AddMonths(1) & "#"
If DataTables("冲压车间工资表").Find(filter) IsNot Nothing Then
    DataTables("冲压车间工资表").ReplaceFor("_Locked", False, filter)
    DataTables("冲压车间工资表").ReplaceFor("已结帐", False, filter)
    Vars("d1") = d
    vars("d2") = d.AddMonths(-1)
End If

--  作者:意悠心轻
--  发布时间:2016/6/1 10:19:00
--  
以下是引用Hyphen在2016/6/1 9:02:00的发言:
结账

Dim d As Date = vars("d1")
Dim filter = "日期 >= #" & d & "# And 日期 < #" & d.AddMonths(1) & "#"
If DataTables("冲压车间工资表").Find(filter) IsNot Nothing Then
    DataTables("冲压车间工资表").ReplaceFor("_Locked", True, filter)
    DataTables("冲压车间工资表").ReplaceFor("已结帐", True, filter)
    Vars("d2") = d
    vars("d1") = d.AddMonths(1)
End If


反结账
Dim d As Date = vars("d2")
Dim filter = "日期 >= #" & d & "# And 日期 < #" & d.AddMonths(1) & "#"
If DataTables("冲压车间工资表").Find(filter) IsNot Nothing Then
    DataTables("冲压车间工资表").ReplaceFor("_Locked", False, filter)
    DataTables("冲压车间工资表").ReplaceFor("已结帐", False, filter)
    Vars("d1") = d
    vars("d2") = d.AddMonths(-1)
End If

重复操作一下,再结账,1月份无法结账。


--  作者:大红袍
--  发布时间:2016/6/1 10:22:00
--  

汗,你代码本身就有问题啊。你直接指定要结账那个月的好了

 

Dim d As Date = "2016-01-01"