以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 值对于 Decimal 太大或太小 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175816) |
-- 作者:狐表(小白) -- 发布时间:2022/3/20 15:20:00 -- 值对于 Decimal 太大或太小 如图,鼠标点击<YW_销售生产单明细>表中最长的那行\'来源\'列提示错误,其它行不会提示,SQL server 数据对应数据列类型是nvarchar(500),<YW_销售生产单明细>表数据是通过存储过程从<YW_销售订单拆单明细>表插入过来的,代码如下,执行完成后也不报错。数据来源表<YW_销售订单拆单明细> 中的 \'来源\' 是通过这种方式处理过的 dr("来源")= dr("来源").PadLeft(2,"0") [此贴子已经被作者于2022/3/20 17:40:00编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/3/20 21:11:00 -- 调试看是那一句代码出现的错误 |
-- 作者:狐表(小白) -- 发布时间:2022/3/21 10:39:00 -- AfterSelRangeChange 事件代码在计算求和、平均值时报的错,怎么修改? 代码: Dim str As String = "" Dim t As Table =CurrentTable If Tables.contains(t.name)=False Then Return With e.NewRange Dim t1 As Integer=iif(t.Rows.Count-1<.TopRow,t.Rows.Count-1,.TopRow) Dim t2 As Integer=iif(t.Cols.Count-1<.LeftCol,t.Cols.Count-1,.LeftCol) Dim t3 As Integer=iif(t.Rows.Count-1<.BottomRow,t.Rows.Count-1,.BottomRow) Dim t4 As Integer=iif(t.Cols.Count-1<.RightCol,t.Cols.Count-1,.RightCol) If t.Aggregate(AggregateEnum.Sum, t1, t2, t3, t4) <> Nothing Then Str = Str & "求和:" & t.Aggregate(AggregateEnum.Sum, t1, t2, t3, t4) & " " Str = Str & "计数:" & t.Aggregate(AggregateEnum.Count, t1, t2, t3, t4) & " " Str = Str & "平均值:" & t.Aggregate(AggregateEnum.Average, t1, t2, t3, t4) Else Str = Str & "计数:" & t.Aggregate(AggregateEnum.Count, t1, t2, t3, t4) & " " End If End With
|
-- 作者:有点蓝 -- 发布时间:2022/3/21 10:50:00 -- 应该是求和的问题,求和后的值超过电脑高精度能够表示的范围了。 try 3楼代码 catch End try |