Foxtable(狐表)用户栏目专家坐堂 → 状态栏显示数据问题


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

主题:状态栏显示数据问题

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
状态栏显示数据问题  发帖心情 Post By:2018/7/13 2:59:00 [只看该作者]

老师你好:
我在表AfterSelRangeChange事件中写入

'''在状态栏显示选定区域的数据信息
If Forms("标录明细录入").Opened Then
    Dim it As Winform.StripItem = e.Form.Strips("状态栏").Items("Stat")
    it.Text = ""
    Dim Sum,Count,Average,Max,Min As Double
    If CurrentTable.Cols(CurrentTable.ColSel).IsNumeric Then '如果当前列是数值列
        With CurrentTable
            Count = .Aggregate(AggregateEnum.Count, .TopRow, .LeftCol, .BottomRow, .RightCol)
            Sum = Format(.Aggregate(AggregateEnum.Sum, .TopRow, .LeftCol, .BottomRow, .RightCol),"0.00")
            Average = Format(.Aggregate(AggregateEnum.Average , .TopRow, .LeftCol, .BottomRow, .RightCol),"0.00")
            Max = Format(.Aggregate(AggregateEnum.Max , .TopRow, .LeftCol, .BottomRow, .RightCol),"0.00")
            Min = Format(.Aggregate(AggregateEnum.Min , .TopRow, .LeftCol, .BottomRow, .RightCol),"0.00")
        End With
    End If
    it.Text = "计数:" & Count & "个;  累计:" & Sum  & ";  平均值:" & Average & ";  最大值:" & Max & ";  最小值:" & Min
    'StatusBar.Message3 = "计数:" & Count & "   累计:" & Sum  & "   平均:" & Average
End If

出现下面错误提示

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.7.9.1
错误所在事件:标录明细,AfterSelRangeChange
详细错误信息:
未将对象引用设置到对象的实例。



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


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

Dim it As Winform.StripItem = Forms("标录明细录入").Strips("状态栏").Items("Stat")

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/17 14:30:00 [只看该作者]

老师你好:
我格式化时,加了%出错了,如何调整?谢谢

''''在状态栏显示选定区域的数据信息
If Forms("标录明细录入").Opened Then
    Dim it As Winform.StripItem = Forms("标录明细录入").Strips("状态栏").Items("Stat")
    it.Text = ""
    Dim Sum,Count,Average,Max,Min,Average1 As Double
    With CurrentTable
        Count = .Aggregate(AggregateEnum.Count, .TopRow, .LeftCol, .BottomRow, .RightCol)
        Sum = Format(.Aggregate(AggregateEnum.Sum, .TopRow, .LeftCol, .BottomRow, .RightCol),"0.0000")
        'Average = Format(.Aggregate(AggregateEnum.Average , .TopRow, .LeftCol, .BottomRow, .RightCol),"0.0000")
        Average1  = .Aggregate(AggregateEnum.Average , .TopRow, .LeftCol, .BottomRow, .RightCol)
        Average = IIF(Average1 < 1,Format(Average1,"00.00%"),Format(Average1,"0.00"))
        Max = Format(.Aggregate(AggregateEnum.Max , .TopRow, .LeftCol, .BottomRow, .RightCol),"0.000")
        Min = Format(.Aggregate(AggregateEnum.Min , .TopRow, .LeftCol, .BottomRow, .RightCol),"0.0000")
    End With
    it.Text = "计数:" & Count & "个;  累计:" & Sum  & ";  平均值:" & Average & ";  最大值:" & Max & ";  最小值:" & Min
End If

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/17 16:31:00 [只看该作者]

提示什么错误?

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/17 16:45:00 [只看该作者]

提示错误:
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.7.9.1
错误所在事件:标录明细,AfterSelRangeChange
详细错误信息:
从字符串“00.00%”到类型“Double”的转换无效。
输入字符串的格式不正确。

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


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

你的Average要定义成字符串类型,如

 

Dim Average As String


 回到顶部