Foxtable(狐表)用户栏目专家坐堂 → 求筛选ShowCheckBox为TRUE的代码


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

主题:求筛选ShowCheckBox为TRUE的代码

美女呀,离线,留言给我吧!
漂亮美眉vszh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
求筛选ShowCheckBox为TRUE的代码  发帖心情 Post By:2014/11/1 13:25:00 [只看该作者]

筛选表中,ShowCheckBox=true的行有哪些,如何写代码?我写的:

Dim filter
If filter = Tables("添加入库购品代码_物料代码表").ShowCheckBox = True Then
Tables("添加入库购品代码_物料代码表").Filter = filter
End If

可代码报错~~


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/11/1 13:55:00 [只看该作者]

 

Tables("添加入库购品代码_物料代码表").Filter = ""

Syscmd.Filter.LockStatusFilter(True)


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/11/1 13:56:00 [只看该作者]

也许直接这样就可以,自己测试一下:

Syscmd.Filter.LockStatusFilter(True)


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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2014/11/1 14:02:00 [只看该作者]

dim s as string  

For Each r As Row In Tables("添加入库购品代码_物料代码表").GetCheckedRows
   if s > ""

     s = "," + CStr(r("_Identify"))

   else

     s = "_Identify in " + "(" + CStr(r("_Identify"))

   end if  
Next

if s > ""

   s =  s + ")"

   Tables("添加入库购品代码_物料代码表").Filter = s

end if

 

没有很多时间去优化以上,但是应该可以实现你的要求


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2014/11/1 14:09:00 [只看该作者]

好像没有直接的方法,遍历下吧

 

Dim filter As String
For Each r As Row In Tables("添加入库购品代码_物料代码表").GetCheckedRows
    filter = filter & "," & r("_Identify")
Next
Tables("添加入库购品代码_物料代码表").Filter = "[_Identify] in (" & filter.Trim(",") & ")"


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/11/1 14:18:00 [只看该作者]

晕,我给搞错了,把筛选锁定行的系统代码用到这里了!


 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2014/11/1 14:45:00 [只看该作者]

以下是引用czy在2014-11-1 14:09:00的发言:

好像没有直接的方法,遍历下吧

 

Dim filter As String
For Each r As Row In Tables("添加入库购品代码_物料代码表").GetCheckedRows
    filter = filter & "," & r("_Identify")
Next
Tables("添加入库购品代码_物料代码表").Filter = "[_Identify] in (" & filter.Trim(",") & ")"

经过测试,这句对的,可是他会把我之前勾好的复选框取消~~,有没啥办法不取消我之前勾好的,双能显示我勾了哪些?


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2014/11/1 15:27:00 [只看该作者]

或许这是个bug。

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/11/1 15:55:00 [只看该作者]

Dim t As Table = e.Form.Controls("Table1").Table
Dim flt As String
For Each r As Row In t.GetCheckedRows
    flt + = r("_Identify") & ","
Next
t.Filter = "_Identify In (" & flt.Trim(",") & ")"
For Each r As Row In t.Rows
    r.Checked = True
Next

 回到顶部