Foxtable(狐表)用户栏目专家坐堂 → [求助]单表多字段组合查询


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

主题:[求助]单表多字段组合查询

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


加好友 发短信
等级:童狐 帖子:237 积分:1970 威望:0 精华:0 注册:2011/7/1 10:05:00
[求助]单表多字段组合查询  发帖心情 Post By:2013/6/3 17:20:00 [只看该作者]

在窗口中有多个TextBox 代表多个字段 sql查询条件 是从上述TextBox中读取出来然后进行查询 可是 当单独查询某个字段时 没有问题 可是 两个字段一组合查询查询结果不正确了 其实我知道可以对TextBox判断为空 然后在写条件组合查询  可是假如我有很多字段 有什么好点的方法吗

我的需求呢就是 单独字段查询时可查 任意字段组合查询时 也可查询出来 其实看了那个代码就知道 组合查询为什么不对了  尽量不去判断TextBox为空 但是有的是一定要判断为空
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目14.rar

可是字段太多了 一个个去判断为空 很麻烦 有什么解决的办法吗

要用sql查询  我之前做的是  先加载全部数据 然后用的内部表查询办法 可是 假如数据量超过万条以上 先加载就很慢 我现在就是想不加载 直接从数据库查 然后返回到表中
[此贴子已经被作者于2013-6-3 17:21:33编辑过]

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


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

遍历当前窗口的所有文本框,然后操作即可.可以省下N多重复代码.也可以写一个全局函数来处理


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


加好友 发短信
等级:童狐 帖子:237 积分:1970 威望:0 精华:0 注册:2011/7/1 10:05:00
  发帖心情 Post By:2013/6/3 17:24:00 [只看该作者]

能写个小事例 我看看吗  图片点击可在新窗口打开查看谢谢了

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


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

帮助都写得这么清楚了.还不会吗?图片点击可在新窗口打开查看

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


加好友 发短信
等级:童狐 帖子:237 积分:1970 威望:0 精华:0 注册:2011/7/1 10:05:00
  发帖心情 Post By:2013/6/3 17:27:00 [只看该作者]

遍历是会 可是在写语句的时候 该怎么去写呢

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


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

.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目14.table


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


加好友 发短信
等级:童狐 帖子:237 积分:1970 威望:0 精华:0 注册:2011/7/1 10:05:00
  发帖心情 Post By:2013/6/3 17:32:00 [只看该作者]

可是 我要是在写查询语句的时候  不一定每个查询条件都要满足 比如10个字段中只满足2个   加上遍历那个 该怎么写呢

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


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

什么意思啊? 空值的话就不拼接是吗? 这样只能一个个判断.没捷径.

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/3 17:44:00 [只看该作者]

呵呵,帮助不是有个类似的例子吗:

http://www.foxtable.com/help/topics/1058.htm

 

帮助是查询,不是加载,但是道理都一样,目的是根据输入的内容合成条件表达式,逐个输入框判断,逐个条件累加,最后再根据合成的条件筛选或加载。

[此贴子已经被作者于2013-6-3 18:10:30编辑过]

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


加好友 发短信
等级:童狐 帖子:237 积分:1970 威望:0 精华:0 注册:2011/7/1 10:05:00
  发帖心情 Post By:2013/6/5 10:01:00 [只看该作者]

Dim Filter As String 
If Connections("DA").SourceType = 1 Then 'Access数据源
With e.Form.Controls("ComboBox3")
    If .value IsNot Nothing Then
     Filter= Tables("检索查询_Table1").Fill("Select * From [档案新标准] Where 机构 ='" & .value & "'","DA",False)
    End If
End With
With e.Form.Controls("ComboBox4")
If .value IsNot Nothing Then
If Filter > "" Then
         Filter = Filter & " And "
       End If
    Filter = Tables("检索查询_Table1").Fill("Select * From [档案新标准] Where 保管期限 ='" & .value & "'","DA",False)
    End If
End If
If Filter > "" Then
    Tables("检索查询_Table1").Filter =  Filter
End If

要是这么判断 中间 那个Filter =之后语句该怎么写呢 

 回到顶部
总数 16 1 2 下一页