Foxtable(狐表)用户栏目专家坐堂 → 窗口只有一个表可以帅选的,现在增加了一个表(一个窗口2个表了),点击帅选出现了提示


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

主题:窗口只有一个表可以帅选的,现在增加了一个表(一个窗口2个表了),点击帅选出现了提示

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


加好友 发短信
等级:童狐 帖子:282 积分:2421 威望:0 精华:0 注册:2013/6/6 13:14:00
窗口只有一个表可以帅选的,现在增加了一个表(一个窗口2个表了),点击帅选出现了提示  发帖心情 Post By:2014/5/7 11:35:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模拟高级筛选_单选框.table

 

窗口只有一个表A是可以帅选的,现在在窗口增加了一个表B(一个窗口2个表了),点击帅选出现了提示

 

"未找到类型“Table”的公共成员“Text”。"


表B没有作用,只要可以存在在窗口,原有能筛选就行,

[此贴子已经被作者于2014-5-7 11:37:17编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/7 11:36:00 [只看该作者]

Table 是没有Text  这个成员的.

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


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

Dim flt As String
For Each c As Col In Tables("表A").Cols
    For Each ctl As WinForm.Control In e.Form.Controls
        If ctl.Gettype.name <> "Table" Then
            If e.Form.Controls(ctl.Name).Text > "" Then
                If ctl.Gettype.Name = "RadioButton" Then
                    If ctl.Name.Split("_")(0) = c.Name AndAlso e.Form.Controls(ctl.Name).Checked Then
                        flt + = c.Name & " = '" & e.Form.Controls(ctl.Name).Text & "' And "
                    End If
                Else
                    If ctl.Name.Contains("0") AndAlso ctl.Name.Split("_")(0) = c.Name Then
                        flt + = c.Name & " = '" & e.Form.Controls(ctl.Name).Text & "' And "
                    ElseIf ctl.Name.Contains("1") AndAlso ctl.Name.Split("_")(0) = c.Name Then
                        flt + = c.Name & " >= " & e.Form.Controls(ctl.Name).Text & " And "
                    ElseIf ctl.Name.Contains("2") AndAlso ctl.Name.Split("_")(0) = c.Name Then
                        flt + = c.Name & " <= " & e.Form.Controls(ctl.Name).Text & " And "
                    ElseIf ctl.Name = c.Name AndAlso c.Name = "字符模糊搜索" Then
                        flt + = c.Name & " Like '%" & e.Form.Controls(ctl.Name).Text & "%' And "
                    End If
                End If
            End If
        End If
    Next
Next
If flt > "" Then
    flt = flt.SubString(0,flt.Length - 5)
End If
Tables("表A").Filter = flt

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


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

 改一下这句代码

 

If ctl.name <> "Table1" AndAlso ctl.Name <> "Table2" Then


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


加好友 发短信
等级:童狐 帖子:282 积分:2421 威望:0 精华:0 注册:2013/6/6 13:14:00
  发帖心情 Post By:2014/5/7 11:40:00 [只看该作者]

以下是引用Bin在2014-5-7 11:36:00的发言:
Table 是没有Text  这个成员的.


只要能筛选就行,表B要在窗口内存在,


现在情况是删掉窗口中的表B就可以帅选了,表B放上去就出现提示了,,,

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


加好友 发短信
等级:童狐 帖子:282 积分:2421 威望:0 精华:0 注册:2013/6/6 13:14:00
  发帖心情 Post By:2014/5/7 11:40:00 [只看该作者]

模拟高级筛选_单选框.table,是lsy帮忙做的,谢谢,

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


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

 再有就是,对于筛选的字段,处理方法如下。

 

 1、把筛选的控件都放在一个容器里面,然后遍历容器;

 

 2、或者,筛选的控件,命名有一个规范,比如前面都是 filter_xxxx;这样就可以判断了。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/7 11:46:00 [只看该作者]

你遍历控件,没有排除Table2 所以报错  排除一下即可

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


加好友 发短信
等级:童狐 帖子:282 积分:2421 威望:0 精华:0 注册:2013/6/6 13:14:00
  发帖心情 Post By:2014/5/7 12:07:00 [只看该作者]

lsy有点甜Bin  感谢大家。

 回到顶部