以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 【求助专家】如何编写代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94679)
|
-- 作者:yeshuping5045
-- 发布时间:2016/12/29 12:23:00
-- 【求助专家】如何编写代码
我有3列,第1列:收发日期(日期时间型),第2列收发数量(数值型),第3列当月入库数(数值型),第3列根据第1列日期是本月,并且第2列收发数量>0调取数据,编码有误,请指点一下:
If e.DataCol.Name = "当月入库数" Then If e.NewValue = Nothing Then e.DataRow("当月入库数") = Nothing Else e.DataRow("当月入库数") = iif( e.DataRow("收发数量") And Format(e.DataRow("收发日期"), "yyyy年MM月") = "2016-12"> 0 ,"收发数量",0) End If End If
|
-- 作者:wyz20130512
-- 发布时间:2016/12/29 12:42:00
--
列名判断应该是第1和第2列。
|
-- 作者:yeshuping5045
-- 发布时间:2016/12/29 12:46:00
--
哪里需要改?
|
-- 作者:wyz20130512
-- 发布时间:2016/12/29 12:50:00
--
此主题相关图片如下:001.png
|
-- 作者:wyz20130512
-- 发布时间:2016/12/29 13:02:00
--
Select Case e.DataCol.Name Case "收发数量","收发日期" If e.NewValue = Nothing Then e.DataRow("当月入库数") = Nothing Else Dim m,m1 As Integer m1 = e.DataRow("收发日期").Month m = Date.Today().Month e.DataRow("当月入库数") = IIF( e.DataRow("收发数量") > 0 And m1 = m,e.DataRow("收发数量"),0) End If End Select
[此贴子已经被作者于2016/12/29 13:09:44编辑过]
|
-- 作者:有点色
-- 发布时间:2016/12/29 13:15:00
--
If e.DataCol.Name = "当月入库数" OrElse e.DataCol.name = "收发数量" OrElse e.DataCol.name = "收发日期" Then If e.DataRow.Isnull("收发日期") Then e.DataRow("当月入库数") = Nothing Else Dim d As Date = e.DataRow("收发日期") e.DataRow("当月入库数") = DataTables("某表").Compute("sum(收发数量)", "收发日期 >= #" & d & "# and 收发日期 < #" & d.AddMonths(1) & "#") End If End If
|
-- 作者:yeshuping5045
-- 发布时间:2016/12/29 13:23:00
--
改了代码,还是没有正确,请在指点一下:
If e.DataCol.Name = "收发录入时间" Or e.DataCol.Name = "收发数量" Then If e.NewValue = Nothing Then e.DataRow("当月入库数") = Nothing Else e.DataRow("当月入库数") = iif( e.DataRow("收发数量") > 0 And Format(e.DataRow("收发日期"), "yyyy年MM月") = "2016年12月" ,"收发数量",0) End If End If
|
-- 作者:yeshuping5045
-- 发布时间:2016/12/29 13:28:00
--
谢谢,我没有看全,继续女里
|
-- 作者:yeshuping5045
-- 发布时间:2016/12/29 13:41:00
--
谢谢专家,已经解决了!
|