Foxtable(狐表)用户栏目专家坐堂 → [求助] 多条件筛选无法实现


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

主题:[求助] 多条件筛选无法实现

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 多条件筛选无法实现  发帖心情 Post By:2014/10/16 9:00:00 [只看该作者]

如下命令想实现:筛选出   “机房名称”相同和“业务名称”为空   或者  “机房名称”相同和“设备名称端口”为空  的内容;但是以下命令无法兼容这两种情况;我该怎么改这个命令?

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("机房板盘端子台帐表","板盘类型|机柜编号|板盘端子名称","机房名称 = '" & Forms("设备端口成端窗口").Controls("机房名称").Text & "'and 业务名称 Is Null  Or  机房名称 = '" & Forms("设备端口成端窗口").Controls("机房名称").Text & "'and  设备名称端口 Is Null " )

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


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

trv.BuildTree("机房板盘端子台帐表","板盘类型|机柜编号|板盘端子名称","(机房名称 = '" & Forms("设备端口成端窗口").Controls("机房名称").Text & "'and 业务名称 Is Null)  Or  (机房名称 = '" & Forms("设备端口成端窗口").Controls("机房名称").Text & "'and  设备名称端口 Is Null) " )

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


加好友 发短信
等级:幼狐 帖子:154 积分:1535 威望:0 精华:0 注册:2011/8/29 20:48:00
  发帖心情 Post By:2016/4/8 0:06:00 [只看该作者]

学过留痕

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2016/4/29 14:11:00 [只看该作者]

我的表中有很多列;在查询条件的Enter中写有以下命令;红色部分命令的意思是除了里面写的这些列不显示、其他都显示;但是由于我的列数很多而我希望只显示其中很小部分列、其他列不显示;命令该怎么修改?

 

Dim t As Table = Forms("宽带帐号割接回访主窗口").Controls("Table1").Table
If t IsNot Nothing Then
    Dim cs As String = ""
    For Each c As Col In t.Cols
       If c.Name <> "割接情况"  AndAlso  c.Name <> "工单责任人"  AndAlso  c.Name <> "全部统计"  AndAlso  c.Name <> "编辑锁定工号"  AndAlso  c.Name <> "编辑锁定"  AndAlso  c.Name <> "用户是否过期" AndAlso  c.Name <> "用户到期日期" AndAlso  c.Name <> "移动产品方案" AndAlso  c.Name <> "用户办理的移动产品编码"   AndAlso  c.Name <> "七级地址"  AndAlso  c.Name <> "地址ID"  AndAlso  c.Name <> "地址"  AndAlso  c.Name <> "密码"    AndAlso  c.Name <> "最后修改时间"  AndAlso c.Name <> "最后修改帐号" AndAlso c.Name <> "预约处理时间"  AndAlso c.Name <> "预约处理帐号"  AndAlso c.Name <> "首次回访时间" AndAlso c.Name <> "首次回访帐号" Then
            cs &= c.Name & "|"
        End If
    Next
    e.Sender.ComboList = cs.TrimEnd("|")
End If

[此贴子已经被作者于2016/4/29 14:11:56编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/29 14:46:00 [只看该作者]

If c.Name = "列1" OrElse c.Name = "列2" Then

    cs &= c.Name & "|"

End If


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2016/5/4 16:39:00 [只看该作者]

我的【PON端口】列内容格式为:00-01-12  或者  00-12-01 类似这样的格式;

 

1、我想把它分列、以下公式红色部分内容该怎么修改?

2、如果拆分出来的内容第一个为0就删除第一个;比如00=0、01=1、12=12

 

'If e.DataCol.Name = "PON端口" Then
'  If e.NewValue = Nothing Then
'    e.DataRow("框号") = Nothing
'    e.DataRow("槽号") = Nothing
'    e.DataRow("PON口号") = Nothing
' Else
'   Dim str As String = e.NewValue
'  Dim reg As new System.Text.RegularExpressions.Regex("(?<=\=+)[0-9]+(?=;+)")
'  Dim mc As Object = reg.matches(str)
'  If mc.Count = 2 Then
'    e.DataRow("框号") = str.SubString(0,4)
'   e.DataRow("槽号") = mc(0).Value
'   e.DataRow("PON口号") = mc(1).Value
' End If
'  End If
'End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/4 17:03:00 [只看该作者]


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2016/5/4 17:43:00 [只看该作者]

        Dim str As String = e.NewValue
        e.DataRow("框号") = str.SubString(0,2)
         e.DataRow("槽号") = str.SubString(3,2)
        e.DataRow("PON口号") = str.SubString(6,2)

 

如果我的列内容是00-00-12 分列出来的结果分别是  00      03     12   如果我想实现0    3   12 就是将前面的0去掉;该怎么办?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/4 18:50:00 [只看该作者]

 

e.DataRow("框号") = val(str.SubString(0,2))


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2016/5/5 9:11:00 [只看该作者]

我有一个表、有48列为:电话号码1、电话号码2 ...........电话号码48 ;我的查询按钮公式如下:想实现如果我需要查询【电话号码】的时候、就在 【电话号码1 .....电话号码48】这48列中进行查询;以下红色字体命令该怎么写会比较简单?

 

 

Dim filter As String = "1=1"

Dim 内容 As String = e.Form.Controls("内容").text
Dim 条件 As String = e.Form.Controls("条件").text

If 内容 > "" AndAlso 条件 > "" Then

If e.Form.Controls("条件").text = '电话号码' Then

filter &= " and ( 电话号码1 = '%" & 内容 & "%'  or  电话号码2 = '%" & 内容 & "%'  or 电话号码3 = '%" & 内容 & "%'   ......  or   电话号码48 = '%" & 内容 & "%'     ) "

Else
    filter &= " and " & 条件 & "  like '%" & 内容 & "%'"
End If
End If

CurrentTable.Filter = filter

[此贴子已经被作者于2016/5/5 9:12:54编辑过]

 回到顶部
总数 25 1 2 3 下一页