设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3414|回复: 14
打印 上一主题 下一主题

[查询] 如何在同一个查询中得出两个相反的结果?

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-19 18:59:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在一个《状态》字段里有“开始;暂停;讨论;跟进;取消;完成”内容,希望能在一个查询中根据查询条件得出“完成”和“未完成”两个结果,如果用两个查询就很简单,但是后面的工作麻烦,如果能通过组合框选择“完成”和“未完成”后执行一个查询就能分别得出需要的结果,是不是需要用到代码?有没有比较简单的思路,谢谢大家!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-2-19 19:06:30 | 只看该作者
很简单,排序一下就得到了。
3#
 楼主| 发表于 2009-2-19 19:12:33 | 只看该作者
很简单,排序一下就得到了。
todaynew 发表于 2009-2-19 19:06

我要用一个查询的出两个结果,一个是《状态》字段中“完成”的记录,另一个结果是不包括“完成”的记录,是不是一定要通过VBA才能实现。
4#
发表于 2009-2-19 19:42:11 | 只看该作者
本帖最后由 todaynew 于 2009-2-19 19:57 编辑
我要用一个查询的出两个结果,一个是《状态》字段中“完成”的记录,另一个结果是不包括“完成”的记录,是不是一定要通过VBA才能实现。
DDTA 发表于 2009-2-19 19:12

好像和VBA无关,呵呵。

你想想看,你的状态栏中有的记录是完成,有的是未完成。你如果想把他们都列示出来的话,还是这张表这些记录。只是为了看着方便起见,把他们按状态栏排序一下,让完成的记录和未完成的记录相对集中排列。

实际上从你的表述中我猜想你需要的是解决另外一个问题。那就是一个查询,在窗体中既可以显示完成的,也可以根据需要显示出未完成的。如果是这样的话,还是用这个查询,只是需要做一个筛选而已。这时候需要用到VBA或者宏了。如:

me.子窗体.Form.RecordSource=“select * from 表”
Me.子窗体.Form.Filter = "状态='" & me.状态 &"'"
Me.子窗体.Form.FilterOn = True

当在组合框me.状态中选择“完成”时,筛选出完成的记录,反之亦然。
5#
发表于 2009-2-19 19:56:21 | 只看该作者
既要完成又要未完成,那就什么条件也别设
6#
发表于 2009-2-19 20:26:57 | 只看该作者
通过组合框选择“完成”和“未完成”后执行一个查询就能分别得出需要的结果

sSQL = "select * from yourTable where " & IIF(me.组合框.value="完成","","NOT " )  & " 状态='完成'"

同样,如果你利用查询也可以。换成 FORMS!myForm.组合框 就行了。



******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
7#
发表于 2009-2-19 20:53:49 | 只看该作者
我想得简单些,吸在查询中设置条件为:状态=完成 OR 状态=未完成
8#
发表于 2009-2-19 21:45:21 | 只看该作者
我想得简单些,吸在查询中设置条件为:状态=完成 OR 状态=未完成
kangking 发表于 2009-2-19 20:53


馊主意,这不等于不写吗?呵呵
9#
 楼主| 发表于 2009-2-19 23:05:27 | 只看该作者
好像和VBA无关,呵呵。

你想想看,你的状态栏中有的记录是完成,有的是未完成。你如果想把他们都列示出来的话,还是这张表这些记录。只是为了看着方便起见,把他们按状态栏排序一下,让完成的记录和未完成的记录 ...
todaynew 发表于 2009-2-19 19:42


您理解的非常正确,我就是想在一个窗体中可以显示两种相反的结果,如果使用两个查询就要做两个窗体,后续很多工作都要重复,我主要用ACCESS管理部门的工作,以前学过一点,现在忘了的差不多了,上传个附件,大家帮我看看,谢谢了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
10#
 楼主| 发表于 2009-2-20 01:46:12 | 只看该作者
通过组合框选择“完成”和“未完成”后执行一个查询就能分别得出需要的结果

sSQL = "select * from yourTable where " & IIF(me.组合框.value="完成","","NOT " )  & " 状态='完成'"

同样,如果你利用查询也可 ...
ACMAIN_CHM 发表于 2009-2-19 20:26


将上面的代码做为一个查询执行后,选择“完成”结果正常,但是选择“未完成”后没有查询到结果,好像“NOT"没有起作用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 22:56 , Processed in 0.096364 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表