以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 统计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=51281) |
-- 作者:发财 -- 发布时间: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
|
-- 作者:发财 -- 发布时间: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.
|
-- 作者:发财 -- 发布时间:2014/5/23 11:22:00 -- 我已将xx7的初始值设为0。 |
-- 作者:发财 -- 发布时间:2014/5/23 11:22:00 -- 为什么还会出现这种情况? |
-- 作者:Bin -- 发布时间:2014/5/23 11:26:00 -- 上个例子卡看 |
-- 作者:有点甜 -- 发布时间:2014/5/23 11:26:00 -- 代码没错,请上传例子。 |
-- 作者:发财 -- 发布时间:2014/5/23 14:34:00 -- 当收购表中的商品损耗尚未输入数值时,就出现这种情况,当我全部将商品损耗列赋值为0时,就不出现这种情况,应该如何改变? |
-- 作者:有点甜 -- 发布时间:2014/5/23 14:56:00 -- 以下是引用发财在2014-5-23 14:34:00的发言:
当收购表中的商品损耗尚未输入数值时,就出现这种情况,当我全部将商品损耗列赋值为0时,就不出现这种情况,应该如何改变?
代码没错,其它地方错了,请上例子。 |
-- 作者:发财 -- 发布时间: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 -- 发布时间: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
|