Foxtable(狐表)用户栏目专家坐堂 → 定义日期无法引用


  共有10453人关注过本帖树形打印复制链接

主题:定义日期无法引用

帅哥哟,离线,有人找我吗?
johnjz
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:105 威望:0 精华:0 注册:2011/12/1 12:19:00
定义日期无法引用  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:105 威望:0 精华:0 注册:2011/12/1 12:19:00
  发帖心情 Post By:2011/12/1 13:03:00 [只看该作者]

 还是不行哦。

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/12/1 13:05:00 [只看该作者]

传个文件看看

 回到顶部
帅哥哟,离线,有人找我吗?
johnjz
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:105 威望:0 精华:0 注册:2011/12/1 12:19:00
  发帖心情 Post By:2011/12/1 17:05:00 [只看该作者]

什么文件?刚刚开始学习编程,发现日期定义不知道怎么用。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/1 17:13:00 [只看该作者]

看看这里:

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
johnjz
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:105 威望:0 精华:0 注册:2011/12/1 12:19:00
  发帖心情 Post By:2011/12/1 20:27:00 [只看该作者]

 看过几次了, 没有答案。

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:105 威望:0 精华:0 注册:2011/12/1 12:19:00
  发帖心情 Post By:2011/12/2 11:44:00 [只看该作者]

 成功了!谢谢狐狸爸爸!

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



 回到顶部