以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 新增加行时问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33128) |
|
-- 作者:hbaijia -- 发布时间:2013/5/14 14:13:00 -- 新增加行时问题 Dim r As Row = Tables("报表").Current Dim i As Integer For i = 1 To t.TotalDays\\7 +1 Dim y As Integer = st.Year Dim w As Integer = st.DayOfWeek \'算出今天是星期几 Dim dt1 As Date = st.AddDays(-w) \'获取本周的第一天 Dim dt2 As Date = st.AddDays(6 - w) \'获取本周的最后一天 r("开始日期") = dt1 r("结束日期") = dt2 st = st.AddDays( 8 ) \' DataTables("报表").AddNew Next End If 为什么第二次循环后的数值还是存在第一行,而不是新增加的行? |
|
-- 作者:Bin -- 发布时间:2013/5/14 14:14:00 --
|
|
-- 作者:hbaijia -- 发布时间:2013/5/14 14:20:00 -- st = StartDate.Text et = EndDate.Text t = et - st Dim r As Row = Tables("报表").Current Dim i As Integer For i = 1 To t.TotalDays\\7 +1 Dim y As Integer = st.Year Dim w As Integer = st.DayOfWeek \'算出今天是星期几 Dim dt1 As Date = st.AddDays(-w) \'获取本周的第一天 Dim dt2 As Date = st.AddDays(6 - w) \'获取本周的最后一天 r("开始日期") = dt1 r("结束日期") = dt2 st = st.AddDays( 8 ) DataTables("报表").AddNew Next |
|
-- 作者:hbaijia -- 发布时间:2013/5/14 14:37:00 -- 本意是先增加了一行后,再根据时间长短自动进行添加工作,Bin的方法我试过当然可以,但前面就会又多出一行。 |
|
-- 作者:Bin -- 发布时间:2013/5/14 14:42:00 -- 你再删除这行不就好了. 或者用 DO..Loop语句
|
|
-- 作者:hbaijia -- 发布时间:2013/5/14 15:29:00 -- sl = DataTables("登记表").Compute("Sum(数量)","[日期] >= #" & dt1 & "# And [日期] <= #" & dt2 & "# ” And "状态 lile & "在用" & "\'" )实在太长了弄不好了,要求在某个时间段内状态列里如果是在用就算上数量 |
|
-- 作者:XYT -- 发布时间:2013/5/14 15:35:00 -- sl = DataTables("登记表").Compute("Sum(数量)","[日期] >= #" & dt1 & "# And [日期] <= #" & dt2 & "# And 状态 lile \'"& "在用" & "\'" ) [此贴子已经被作者于2013-5-14 15:36:28编辑过]
|
|
-- 作者:hbaijia -- 发布时间:2013/5/14 15:43:00 -- 上面也不对,编辑通不过 |
|
-- 作者:XYT -- 发布时间:2013/5/14 15:48:00 -- 你这个是什么意思?要用通配符吗,还是就是找带这2个字符的 lile \'"& "在用" & |
|
-- 作者:Bin -- 发布时间:2013/5/14 15:49:00 -- sl = DataTables("登记表").Compute("Sum(数量)","[日期] >= #" & dt1 & "# And [日期] <= #" & dt2 & "# And 状态 = \'在用\'" ) |