Foxtable(狐表)用户栏目专家坐堂 → 【求助专家】如何编写代码


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

主题:【求助专家】如何编写代码

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


加好友 发短信
等级:幼狐 帖子:58 积分:571 威望:0 精华:0 注册:2016/12/24 9:59:00
【求助专家】如何编写代码  发帖心情 Post By: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
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1249 积分:9480 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2016/12/29 12:42:00 [只看该作者]

列名判断应该是第1和第2列。

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


加好友 发短信
等级:幼狐 帖子:58 积分:571 威望:0 精华:0 注册:2016/12/24 9:59:00
  发帖心情 Post By:2016/12/29 12:46:00 [只看该作者]

哪里需要改?

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


加好友 发短信
等级:六尾狐 帖子:1249 积分:9480 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2016/12/29 12:50:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:001.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:六尾狐 帖子:1249 积分:9480 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:58 积分:571 威望:0 精华:0 注册:2016/12/24 9:59:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:58 积分:571 威望:0 精华:0 注册:2016/12/24 9:59:00
  发帖心情 Post By:2016/12/29 13:28:00 [只看该作者]

谢谢,我没有看全,继续女里

 


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


加好友 发短信
等级:幼狐 帖子:58 积分:571 威望:0 精华:0 注册:2016/12/24 9:59:00
  发帖心情 Post By:2016/12/29 13:41:00 [只看该作者]

谢谢专家,已经解决了!

 


 回到顶部