Foxtable(狐表)用户栏目专家坐堂 → 上午的更新有一个大的bug,现在已经解决,请重新下载


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

主题:上午的更新有一个大的bug,现在已经解决,请重新下载

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/18 13:36:00 [显示全部帖子]

还是存在问题。我原来的项目都是正常的,现在用1:20分左右的新版打开还是出错:

1、竟然报的这个错,我在项目里找遍了也没发现代码在哪里。还有更好的方式来快速找到指定的代码吗?

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

2、接着又出这个错:

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

图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看
按照提示,我查了代码,发现这个事件设置是在“YS_广告数据”里的,没在“Strat”里啊,为什么报错?

以上两个错误,在老版里是不报的,现在用新版就出来了。请老六查一下。

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/18 13:45:00 [显示全部帖子]

3是已经判断的啊。在老版里都正常的,代码如下:
IF CurrentTable.Current IsNot Nothing
    Functions.Execute("Rows")  '动态调整地区版与铜版纸的选择状态及高宽的锁定状态
    With CurrentTable
        Dim zts as Integer = .Rows.Count
'        Dim pc as Integer = .Aggregate(AggregateEnum.Sum,0,.Cols("广告条数").Index,zts-1,.Cols("广告条数").Index)
        Dim mj as Double = .Aggregate(AggregateEnum.Sum,0,.Cols("面积").Index,zts-1,.Cols("面积").Index)
        Dim zbs as Double = .Aggregate(AggregateEnum.Sum,0,.Cols("占版数").Index,zts-1,.Cols("占版数").Index)
        Dim kl as Double = .Aggregate(AggregateEnum.Sum,0,.Cols("刊例费用").Index,zts-1,.Cols("刊例费用").Index)
        Dim ts as Double = .Aggregate(AggregateEnum.Sum,0,.Cols("推算费用").Index,zts-1,.Cols("推算费用").Index)
'        Forms("主窗口").Controls("Label4").Text = "数据记录共 " & zts & " 条, 统计的广告频次 " & pc & " 条, 面积 " & mj & " 平方厘米, 占版数 " & zbs & " 个" & Vars("Jldw") & ",刊例费用 " & kl & " 元, 推算费用 " & ts & " 元"
    End With
Else
    Forms("主窗口").Controls("Label4").Text = "数据记录为空"
End If

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/18 13:51:00 [显示全部帖子]

自定义函数Rows的代码如下,代码也都是限定了表的,与“start”表无关:

With CurrentTable
  If .Name = "YS_广告数据"
     Forms("主窗口").Controls("CheckBox1").Checked = IIf(.Current("是否地区版")="是",True,False)
     Forms("主窗口").Controls("CheckBox2").Checked = IIf(.Current("纸质")="铜版纸",True,False)
     If .Current("规格").Contains("异型")
        .Cols("高").AllowEdit = True
        .Cols("宽").AllowEdit = True
     Else
        .Cols("高").AllowEdit = False
        .Cols("宽").AllowEdit = False
     End If
  End If
End With

[此贴子已经被作者于2009-8-18 13:52:18编辑过]

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/18 14:04:00 [显示全部帖子]

而且,还发现个更大的问题:好多的事件都不正常执行了,比如内容改变事件。

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/18 15:10:00 [显示全部帖子]

终于找到原因,是因为表的StateFilter问题。

我在项目中做了以下几个查询功能(相当于新版的“行视图”,早知道老六在新版里会加,我之前就不用这么费事了):


图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
图片点击可在新窗口打开查看
代码分别如下:
全部记录:CurrentTable.StateFilter = StateFilterEnum.None
新增记录:CurrentTable.StateFilter = StateFilterEnum.Added
修改记录:CurrentTable.StateFilter = StateFilterEnum.Modified
未改记录:CurrentTable.StateFilter = StateFilterEnum.UnChanged
把这几行代码全部屏蔽掉,就能正常运行、且不出6楼的第一类错误了,请老六关注一下这个Bug。

关于6楼的第二类错误,我已另贴说明:http://www.foxtable.com/dispbbs.asp?boardid=2&Id=3902
[此贴子已经被作者于2009-8-18 15:27:33编辑过]

 回到顶部