Foxtable(狐表)用户栏目专家坐堂 → 不清楚代码问题,请教


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

主题:不清楚代码问题,请教

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


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
不清楚代码问题,请教  发帖心情 Post By:2013/6/5 9:11:00 [只看该作者]


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

 

分解入库_DataColChanged

 

If e.DataCol.Name = "单价" OrElse e.DataCol.Name = "数量" Then

    e.DataRow("金额") = e.DataRow("单价") * e.DataRow("数量")

End If

 

'If e.DataCol.Name = "物资名称" Then '

'If e.NewValue Is Nothing Then

'e.DataRow("物资类别") = Nothing

'Else

'Dim dr As DataRow

'dr = DataTables("分解数据").Find("[物资名称] = '" & e.NewValue & "'")

'If dr IsNot Nothing Then

'e.DataRow("物资类别") = dr("物资类别")

'End If

'End If

'End If

'

Dim dt As Date = e.DataRow("入库日期")

If dt.Day < 26 Then

    dt = dt.AddMonths(-1)

End If

Dim dt1 As Date = New Date(dt.Year,dt.Month ,26)

Dim dt2 As Date = dt1.AddMonths(1).AddDays(-1)

Dim Filter As String

Filter = "入库日期 >= #" & dt1 & "# And 入库日期 <= #" & dt2 & "#"

Tables("分解入库").Filter = Filter


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/5 9:13:00 [只看该作者]

上例子.你这个是你值有问题.非法.

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


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

你的代码问题多多,在DataColchanged筛选,也不判断列名,也不判断是否输入了值。

估计是没有输入入库日期造成的,判断输入了入库日期再执行这些代码吧:

 

If e.DataCol.Name = "单价" OrElse e.DataCol.Name = "数量" Then
    e.DataRow("金额") = e.DataRow("单价") * e.DataRow("数量")
End If
If e.DataCol.name = "入库日期" Then
    If e.DataRow.IsNull("入库日期") = False
        Dim dt As Date = e.DataRow("入库日期")
        If dt.Day < 26 Then
            dt = dt.AddMonths(-1)
        End If
        Dim dt1 As Date = New Date(dt.Year,dt.Month ,26)
        Dim dt2 As Date = dt1.AddMonths(1).AddDays(-1)
        Dim Filter As String
        Filter = "入库日期 >= #" & dt1 & "# And 入库日期 <= #" & dt2 & "#"
        Tables("分解入库").Filter = Filter
    End If
End If


 回到顶部