ACCESS 怎么样在查询中满足一个条件而显示其余与之相应的字段信息

作者&投稿:宇启 (若有异议请与网页底部的电邮联系)
ACCESS如何实现满足某个条件时,字段1显示字段2的值,不满足时,显示字段1的值。~

网页链接 用iif函数吧,祝研究的愉快。
另外可以考虑用VBA实现,如果是外部程序就,也可以通过程序语言来实现。(比如C#,JAVA等等)

没看明白,多少个值都是一样的啊。大致是用到dlookup 来获取符合记录的那个值吧。

没理解错的话,你是想找出同一尺寸中价格最大的供应商及时间吧?

看了你的查询设计,我知道你有些重要的概念没搞清楚。

1、你想通过分组,找出最大值,这可以,但又要通过简单的一步同时显示不分组的字段,这不行。

如果使用了分组,即在语句中使用了group by ,那么,查询列表中的每个列必须要么是分组依据列(在group by后面的列),要么是聚集函数或者包含聚集函数的表达式。
举个例子,假设一个表中有字段分别是a、b、c、d、e、f,如果以a、b为分组(即group by a,b),那么在select后面只能出现a,或者b,或者a,b,或者count()聚合函数 ,不能出现c,d,e,f(也不能是包含cdef的表达式),但可以是包含cdef的聚合函数(如sum(c),avg(d)等等),也可以是包含cdef聚合函数的表达式(如sum(e)*100,sum(f)+25等等)。
所以,你已经出现group by 尺寸,而你想在select后出现供应商、时间字段的值,这是行不通的。

2、解决的办法是分2步走,可按如下方法:

首先,建立一个汇总查询,如下

它会得出如下结果:

  尺寸          价格

14              10001

12               8000

其次,再建立一个查询,要添加表1和前面建立的查询1,并建立关系,如下

只要直接运行查询2,它的结果,如下

这样就满足你的要求了。

3、若用SQL语句,可一次执行以上的查询,它的意思同上面的完全一样,代码如下

SELECT   尺寸,供应商,时间,价格  FROM  表1   INNER JOIN  (SELECT 尺寸, max(价格) AS 价格之最大值 FROM  表1  GROUP BY 尺寸)  AS  abc  ON (表1.价格=abc.价格之最大值) AND (表1.尺寸=abc.尺寸);

说明: (SELECT 尺寸, max(价格) AS 价格之最大值 FROM  表1  GROUP BY 尺寸)就是前面的查询1;abc是这个分组汇总查询的别名,设置别名目的是为了ON后面的句子引用。



ACCESS汇总表里不可以在分组或运算字段下写条件,知道不
重新建立一个查询,或者右键点在总计那一行上,不要他汇总,再右键点在查询设计器菜单上,选择SQL编辑器,把里面的语句全部删除,重新写:
Select * From 表1 Where 供应商=[请输入供应商名称!];
这样就可以了,你再打开查询,就弹出一个对话框提示你输入条件.在窗体上可以把表绑定在窗体上,条件直接指向窗体上某个Text控件,做个按钮去加载刷新他让他筛选,查询语句就应该这么写:
Select * From 表1 Where 供应商=Forms!窗体名!控件名称;
在VBA编辑器代码中也可以这么编写数据源.
Me.RecordSource="Select * From 表1 Where 供应商='"+控件名称+"'"
筛选查询窗体上的控件作为条件的数据

你有多个条件,想要满足其中一个条件,就把所有对应的记录都显示,那么在查询设计视图中,每个条件要放在不同行


卫东区17194712462: ACCESS 怎么样在查询中满足一个条件而显示其余与之相应的字段信息 -
嵇祁可乐: 没理解错的话,你是想找出同一尺寸中价格最大的供应商及时间吧? 看了你的查询设计,我知道你有些重要的概念没搞清楚. 1、你想通过分组,找出最大值,这可以,但又要通过简单的一步同时显示不分组的字段,这不行. 如果使用了分组...

卫东区17194712462: 在access查询计算结果中怎么设置小数点位数为1 -
嵇祁可乐: 或者直接在sql中用format函数,或者在窗体显示的时候设置控件的格式...

卫东区17194712462: access查询如何在原有天数基础上加1? -
嵇祁可乐: 运行下列更新查询即可:1update表名 set天数=天数 + 1; 表名和字段名请根据实际调整

卫东区17194712462: access可以设定满足一定条件显示某列字段 -
嵇祁可乐: 在查询和窗体里可以 1.查询: 表达式:iif(a=1,b,0) 意思是如果a列值等于1则显示为b列的内容,否则显示为0 2.窗体: 加载事件 if me.a<>1 then me.b.visible=false 意思是如果a列值b不等于1则不显示为b列的内容

卫东区17194712462: 在access中如何建立1个选择查询只查询1个信息
嵇祁可乐: select top 1 * from table

卫东区17194712462: 在access2003的数据表中,要想即时查看满足一定条件的部分记录,可以使用什么功能? -
嵇祁可乐: 最简单的就是 数据筛选!打开数据表 然后在数据表视图中 点选某个字段 的某个记录 右键 有个中筛选和排序 等功能…… 其中 筛选目标 里面 你可以输入表达式 比如 张三 就可以筛选出 这个字段里边 等于 张三 的记录…… 其他表达式 你自己尝试使用吧 等于某个值的记录 可以 使用 按选定内容筛选…… 尝试几次各种筛选方式 你就有体会了 我就不再罗嗦了………………

卫东区17194712462: access2003是/否类型字段,如何在查询中按“是”查询. -
嵇祁可乐: 在查询设计器里的“条件”行输入true 、yes、on、-1,这4个之一均可.如果用SQL语句表述,则条件部分等于上述的4个之一即可,如 ……where 字段名称=true. 如果是“否”,则用false、no、 off、0之一表示. 建议使用true、-1来表示“真”(既“是”);用false、0来表示“假”(既“否”)这样更规范.

卫东区17194712462: Access中如何给一列加1
嵇祁可乐: 建一个查询,用SQL语句: updata 表名 set 字段名=字段名+1 where 条件

卫东区17194712462: 1.在ACCESS中,可以在查询中设置 - ----,以便在运行查询时提示输入信息(条件).(10.00分) A. 字段 B. -
嵇祁可乐: 自定义一个变量就可以了,自动弹出来让你输入了.

卫东区17194712462: Access查询如何同时满足两个条件 -
嵇祁可乐: 购买了某两种商品: select [订单号] from [表] group by [订单号] having count(*)=2 ; 购买了某多种商品: select [订单号] from [表] group by [订单号] having count(*)>1 ;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网