以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  定义日期无法引用  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=14769)

--  作者:johnjz
--  发布时间:2011/12/1 12:46:00
--  定义日期无法引用
我定义了本月初和上月初,但无法在筛选是引用,请高手指教:-
 
Dim d1 As Date
Dim d2 As Date
d1 = today.adddays(-day(Today)) \'定义本月初
d2 = today.adddays(-day(Today)).adddays(-day(today.adddays(-day(Today)))) \'定义上月初

If e.DataCol.name ="原料代码" Then     \'则累计原辅料入库表中同代码原辅料总的入库量,然后赋值给变动行的数量列
  e.DataRow("当月入库kg") = DataTables("原辅料入库").Compute("Sum(实收数量)","[原料代码] = \'" & e.NewValue & "\'And [日期] >= d2 And [日期] <= d1")
End if


--  作者:czy
--  发布时间:2011/12/1 12:53:00
--  

是不是应该这样?

 

Dim d1 As Date
Dim d2 As Date
d1 = today.adddays(-day(Today)) \'定义本月初
d2 = today.adddays(-day(Today)).adddays(-day(today.adddays(-day(Today)))) \'定义上月初

If e.DataCol.name ="原料代码" Then     \'则累计原辅料入库表中同代码原辅料总的入库量,然后赋值给变动行的数量列
  e.DataRow("当月入库kg") = DataTables("原辅料入库").Compute("Sum(实收数量)","[原料代码] = \'" & e.NewValue & "\'And [日期] >= #" & d2 & "# And [日期] <= #" & d1 "#")
End If


--  作者:johnjz
--  发布时间:2011/12/1 13:03:00
--  
 还是不行哦。
--  作者:czy
--  发布时间:2011/12/1 13:05:00
--  
传个文件看看
--  作者:johnjz
--  发布时间:2011/12/1 17:05:00
--  
什么文件?刚刚开始学习编程,发现日期定义不知道怎么用。


--  作者:狐狸爸爸
--  发布时间:2011/12/1 17:13:00
--  

看看这里:

http://www.foxtable.com/help/topics/1424.htm

 

具体问题,应该长传你的表,说明在什么事件设置了什么代码,目的是什么,问题又是什么。


--  作者:johnjz
--  发布时间:2011/12/1 20:27:00
--  
 看过几次了, 没有答案。

就是有一个《入库表》,存有历来的入库记录

想建一个统计表,在 e.DataCol.Changed事件,按【材料代码】自动统计《入库表》当月和上个月的入库数量。

上面代码直接用#2011/10/31#日期时,可以完成,但想通过定义d1 和d2, 自动跳转的当月,而不用每月更改代码。上面定义在output.show(d1) 是显示正确,但不能在代码中引用。

--  作者:狐狸爸爸
--  发布时间:2011/12/2 8:20:00
--  

试试:

 

If e.DataCol.name ="原料代码" Then 
    Dim d1 As Date = New Date(Date.Today.Year,Date.Today.Month,1)
    Dim d2 As Date = d1.AddMonths(-1)
    e.DataRow("当月入库kg") = DataTables("原辅料入库").Compute("Sum(实收数量)","[原料代码] = #" & e.NewValue & "# And [日期] >=  #" & d2 & "# And [日期] <= # " & d1 & "#")
End If

 

如果你搞不定,就上传自己的数据表,写上你的代码,我帮你看看问题出在什么地方。

 

一般这种问题,如果你的表已经上传到论坛,可能不到10分钟,就已经处理好给你了。

[此贴子已经被作者于2011-12-2 8:33:33编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/12/2 8:25:00
--  

另外建议看看:
http://www.foxtable.com/help/topics/1284.htm

http://www.foxtable.com/help/topics/1424.htm

http://www.foxtable.com/help/topics/1337.htm


 


 
 

[此贴子已经被作者于2011-12-2 8:32:13编辑过]

--  作者:johnjz
--  发布时间:2011/12/2 11:44:00
--  
 成功了!谢谢狐狸爸爸!

关键是 日期定义必须放在IF语句里边。换了我上面的日期定义,也能运算了。真是感谢!