Foxtable(狐表)用户栏目专家坐堂 → [求助]有点甜老师,这种输入查询怎么做


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

主题:[求助]有点甜老师,这种输入查询怎么做

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


加好友 发短信
等级:幼狐 帖子:186 积分:1476 威望:0 精华:0 注册:2018/3/5 10:34:00
[求助]有点甜老师,这种输入查询怎么做  发帖心情 Post By:2018/3/9 9:27:00 [只看该作者]

有点甜老师,还得麻烦你!我现在想实现这样的查询,自己看帮助文件 怎么也做不出来

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
第一个专业查询中,输入专业(可以是材料一个和多个专业,比如电气,植物等,)就能把有这些专业电气自动化和植物保护的院校查询出来。这得需要模糊查询吧
第二个地域专业查询,输入地域和专业,比如,湖南,四川,电气,植物保护等,这得在两个列中查询啊,太难了),就能把即符合地域和专业的查询出来。这也是模糊查询吧,比如黑龙江,只要输入黑
这是您帮我写的代码,中间需要加什么,两个输入框分别是textbox6和textbox7,地域标题是院校地址,列名是yxdz,专业名称列名zymc
Dim Filter As String = "1=1"
Dim v1 As String = e.form.controls("textbox1").text
If v1 > "" Then
    filter &= " And zdffs >= " & v1
End If
Dim v2 As String = e.form.controls("textbox2").text
If v2 > "" Then
    filter &= " And zgffs <= " & v2
End If


With e.Form.Controls("院校地区:")
    If .Value IsNot Nothing Then
        Filter &= " and yxdq = '" & .Value & "'"
    End If
End With


还有一个问题,我的电子表格有20多万行,扩展名是xlsx,不支持导入啊,商业版可以支持吗
[此贴子已经被作者于2018/3/9 9:44:44编辑过]

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


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

1、2、用like模糊查询即可

 

With e.Form.Controls("院校地区:")
    If .Value IsNot Nothing Then
        Filter &= " and yxdq like '%" & .Value & "%'"
    End If
End With
 
 
如果还是无法导入,你可以把xlsx文件分割成多个少量的xls文件,比如每个5万行,然后再导入。

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


加好友 发短信
等级:幼狐 帖子:186 积分:1476 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2018/3/9 10:36:00 [只看该作者]

真的厉害,如果一起输入两个专业,比如,电气,机械,那又怎么办,是再加一个输入框吗,在一个输入框不能实现吗,用写两次
 If .Value IsNot Nothing Then
        Filter &= " and yxdq like '%" & .Value & "%'"
    End If

还有第二种,两个列一起查询怎么办

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


加好友 发短信
等级:幼狐 帖子:186 积分:1476 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2018/3/9 10:48:00 [只看该作者]

主要是一个输入框输入两个或多外专业名称,难做啊,谢谢辛苦啦

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


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

以下是引用tygzjsl在2018/3/9 10:48:00的发言:
主要是一个输入框输入两个或多外专业名称,难做啊,谢谢辛苦啦

 

多个这样写

 

With e.Form.Controls("院校地区:")
    If .Value IsNot Nothing Then
        Dim str As String = ""
        For Each s As String In .value.split(",")
            str &= "yxdq like '%" & s & "%' or "
        Next
        Filter &= " and (" & str.substring(0, str.length-4) & ")"
    End If
End With
 

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


加好友 发短信
等级:幼狐 帖子:186 积分:1476 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2018/3/9 11:16:00 [只看该作者]

输入的时候,有要求吗,比如,电气会计,中间用什么隔开啥的,刚才调试了,还不行,谢谢!

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


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

以下是引用tygzjsl在2018/3/9 11:16:00的发言:
输入的时候,有要求吗,比如,电气会计,中间用什么隔开啥的,刚才调试了,还不行,谢谢!

 

用英文的逗号分隔,如 计算机,会计

 

如果要用空格分隔,就这样写代码

 

With e.Form.Controls("院校地区:")
    If .Value IsNot Nothing Then
        Dim str As String = ""
        For Each s As String In .value.split(" ")
            str &= "yxdq like '%" & s & "%' or "
        Next
        Filter &= " and (" & str.substring(0, str.length-4) & ")"
    End If
End With
 

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


加好友 发短信
等级:幼狐 帖子:186 积分:1476 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2018/3/9 13:44:00 [只看该作者]

你太牛啦,中午都没有休息,太感谢了!满足两个列的查询是不是更复杂,也就是一个输入框中,输入两个或多个列的内容,非常感谢!

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


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

以下是引用tygzjsl在2018/3/9 13:44:00的发言:
你太牛啦,中午都没有休息,太感谢了!满足两个列的查询是不是更复杂,也就是一个输入框中,输入两个或多个列的内容,非常感谢!

 

如果两个列,建议分开两个textbox控件分别输入。代码参考7楼。

 

如果要在一个控件处理,适当修改条件,如

 

With e.Form.Controls("院校地区:")
    If .Value IsNot Nothing Then
        Dim str As String = ""
        For Each s As String In .value.split(" ")
            str &= "yxdq like '%" & s & "%' or 第十列 Like '%" & s & "%' or "
        Next
        Filter &= " and (" & str.substring(0, str.length-4) & ")"
    End If
End With


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


加好友 发短信
等级:幼狐 帖子:186 积分:1476 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2018/3/9 18:27:00 [只看该作者]

嗯非常谢谢,但是在两个列之间输入时还是用空格吗 用空格出现了很多

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