Foxtable(狐表)用户栏目专家坐堂 → 统计


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

主题:统计

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
统计  发帖心情 Post By:2014/5/23 11:21:00 [只看该作者]

Forms("录入窗口").Close()
DataTables("收购").LoadFilter = "[日期] Between #" & vars("ddate") & "# And #" & vars("vdate") & "#"
DataTables("收购").Load()
DataTables("销售").LoadFilter = "[日期] Between #" & vars("ddate") & "# And #" & vars("vdate") & "#"
DataTables("销售").Load()
Dim drs As List(Of DataRow)
drs = DataTables("收购").Select("[重量] > 0")
Dim dr As List(Of DataRow)
dr = DataTables("销售").Select("[重量] > 0")
If vars("ddate") > vars("vdate") Or drs.count = 0 Or dr.count = 0 Then
    Dim aa As WinForm.DateTimePicker = e.Form.Controls("起始日期")
    Dim bb As WinForm.DateTimePicker = e.Form.Controls("终止日期")
    Dim cc As WinForm.TextBox = e.Form.Controls("收购头数")
    Dim dd As WinForm.TextBox = e.Form.Controls("收购重量")
    Dim ee As WinForm.textBox = e.Form.Controls("收购金额")
    Dim ff As WinForm.TextBox = e.Form.Controls("销售头数")
    Dim gg As WinForm.TextBox = e.Form.Controls("销售重量")
    Dim hh As WinForm.TextBox = e.Form.Controls("销售金额")
    Dim zz As WinForm.TextBox = e.Form.Controls("商品损耗")
    aa.Text=""
    bb.Text=""
    cc.Text=""
    dd.text=""
    ee.Text=""
    ff.Text=""
    gg.Text=""
    hh.text=""
    zz.text=""
    MessageBox.Show("统计日期范围收购或销售数据为零!")
    
ElseIf vars("ddate") <= vars("vdate") And drs.count > 0 And dr.count > 0 Then
    vars("Suma") =  DataTables("收购").Compute("Sum(头数)", "[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")
    vars("Sumb") =  DataTables("收购").Compute("Sum(重量)", "[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")
    vars("Sumc") =  DataTables("收购").Compute("Sum(收购金额)","[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")
    vars("Sumaa") =  DataTables("销售").Compute("Sum(份数)", "[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")
    vars("Sumbb") =  DataTables("销售").Compute("Sum(重量)", "[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")
    vars("Sumcc") =  DataTables("销售").Compute("Sum(金额)", "[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")
    vars("xx7") =  DataTables("收购").Compute("Sum(商品损耗)", "[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")
End If
Dim dl As List(Of DataRow)
dl = DataTables("收购").Select("[商品损耗] > 0")
If dl.count = 0 Then
    MessageBox.Show("商品损耗为零!")
Else
    If vars("suma") = vars("sumaa") Then
        Forms("统计窗口").controls("label13").text = "收购与销售头数相同."
    Else
        Forms("统计窗口").controls("label13").text = "收购与销售头数不相同."
    End If
    If vars("sumb") = vars("sumbb") +vars("xx7") Then
        Forms("统计窗口").controls("label14").text = "收购与销售重量相同."
    Else
        Forms("统计窗口").controls("label14").text = "收购与销售重量不相同."
    End If
End If

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2014/5/23 11:21:00 [只看该作者]

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.5.6.1
错误所在事件:窗口,统计窗口,Button1,Click
详细错误信息:
Cannot set Column 'xx7' to be null. Please use DBNull instead.

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2014/5/23 11:22:00 [只看该作者]

我已将xx7的初始值设为0。

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2014/5/23 11:22:00 [只看该作者]

为什么还会出现这种情况?

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


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

上个例子卡看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/23 11:26:00 [只看该作者]

 代码没错,请上传例子。

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2014/5/23 14:34:00 [只看该作者]

当收购表中的商品损耗尚未输入数值时,就出现这种情况,当我全部将商品损耗列赋值为0时,就不出现这种情况,应该如何改变?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/23 14:56:00 [只看该作者]

以下是引用发财在2014-5-23 14:34:00的发言:
当收购表中的商品损耗尚未输入数值时,就出现这种情况,当我全部将商品损耗列赋值为0时,就不出现这种情况,应该如何改变?

 

代码没错,其它地方错了,请上例子。


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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2014/5/23 15:58:00 [只看该作者]

   vars("xx7") =  DataTables("收购").Compute("Sum(商品损耗)", "[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")
代码中DataTables("收购").Compute("Sum(商品损耗)", "[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")为空值时,出现错误,应如何修改?

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


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

判断一下.如果出现空值不执行.

if  Vars("ddate") <> "" andalso Vars("vdate") <> "" then
     vars("xx7") =  DataTables("收购").Compute("Sum(商品损耗)", "[日期] >= #" & Vars("ddate") & "# and [日期] <= #" & Vars("vdate") & "#")
end if

 回到顶部
总数 16 1 2 下一页