以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 报错求救 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=6269) |
||||
-- 作者:wqc360 -- 发布时间:2010/3/21 23:12:00 -- 报错求救 我在窗口按钮设置以下代码: If Vars("用户组") = "管理员" and Vars("用户组") <> "车间主管" With Tables("日报表") If .TopPosition > -1 Then For i as Integer = .TopPosition To .BottomPosition If .Rows(i)("审核") = False Then .Rows(i)("审核") = True .Rows(i)("审核人") = Tables("登陆")(0)("用户名") & " " & now Else .Rows(i)("审核") = False .Rows(i)("审核人") = Tables("登陆")(0)("用户名") & " " & now End If Next End If End With End If If Vars("用户组") = "车间主管" With Tables("日报表") If .TopPosition > -1 Then For i as Integer = .TopPosition To .BottomPosition If .Rows(i)("审核") = False Then .Rows(i)("审核") = True .Rows(i)("审核人") = Tables("登陆")(0)("用户名") & " " & now End If Next End If End With End If 如选定行>筛选行/2,就报错,代码执行筛选行的一半行数,比如我窗口表筛选出20行"审核" = False的数据,我选择其中11到20行都一样,点按钮,只执行10行,并提示。 提示如下。 此主题相关图片如下:未命名.gif 请帮忙看看问题出在哪里 [此贴子已经被作者于2010-3-21 23:12:35编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2010/3/21 23:33:00 -- 看不出了 [此贴子已经被作者于2010-3-21 23:34:19编辑过]
|
||||
-- 作者:程兴刚 -- 发布时间:2010/3/21 23:58:00 -- If Vars("用户组") = "管理员" and Vars("用户组") <> "车间主管" |
||||
-- 作者:wqc360 -- 发布时间:2010/3/22 15:22:00 -- 还是不行,应该是筛选的问题,请看示范文件,怎样在点按钮时,保持已筛选的行就好了(不是撤销筛选),谢谢
[此贴子已经被作者于2010-3-22 15:40:17编辑过]
|
||||
-- 作者:czy -- 发布时间:2010/3/22 16:48:00 -- 我们没办法。 筛选后对筛选列赋值,赋一个单元格的值就会隐藏一行,出现这种问题也就不奇怪了。 |
||||
-- 作者:ssqq -- 发布时间:2010/3/22 17:26:00 -- For i as Integer = .TopPosition To .BottomPosition 改为 For i as Integer = .BottomPosition To .TopPosition step -1 If .TopPosition > -1 Then 改为 If .BottomPosition > -1 Then [此贴子已经被作者于2010-3-22 17:27:17编辑过]
|
||||
-- 作者:wqc360 -- 发布时间:2010/3/22 19:36:00 --
6楼还是不行,如果有代码指定暂停筛选就好了,CurrentTable.ApplyFilter = False不行,显示所有行了,要求当前筛选不变。代码应该怎么写 |
||||
-- 作者:ssqq -- 发布时间:2010/3/22 20:34:00 -- 在筛选状态下,随筛选结果变化的行变量是rows.count 你可以测试一下,执行公式过程中TopPosition BottomPosition两个参数的变化 在每次赋值后,outputshow()显示一下这连个参数的变化,有什么规律 就明白在筛选状态下,如何根据筛选结果进行行号的变化 |
||||
-- 作者:e-png -- 发布时间:2010/3/22 23:18:00 -- 要求当前筛选不变: 这样就要增加一列来判断了,筛选前先清空,筛选后勾上,执行1楼(修正后)代码后,再筛选出打勾的行来即可。 就是繁琐些了。 |