Office中国论坛/Access中国论坛
标题: 查询帮助 [打印本页]
作者: 小何 时间: 2007-5-12 16:18
标题: 查询帮助
我一个表内有三个数据项(20F\40F\40HF),在这三个数据项内当一个数据项数据大于0时,基它两项肯定是0.但如果用查询得到箱型.就是当20F大于0时箱型就显示20F,当40F大于0时箱型就显示40F,当40HF大于0时箱型就显示40HF.
另一个在查询里如何用快捷自定义菜单将查询的箱型资料导出呢?
如例子.(在查询里,我20F已设置.但是同时将40F和40HF不知道怎么设置在同一个箱型里)[attach]24361[/attach]
作者: 谢健 时间: 2007-5-12 17:03
你提到的问题,真有些看不懂,因为那是你的业务,外人很少熟悉的,建议你先参考刘小军的通用查询示例,里面有详细讲解,如学会了这个通用查询,那么大部份查询功能都可以轻易做到![attach]24362[/attach]
作者: 小何 时间: 2007-5-12 18:15
我这个其它就是,将20F/40F/40HF各项显示到箱型里.格式如下:
<TABLE cellSpacing=0 cellPadding=0 width=377 border=0 x:str>
<COLGROUP>
<COL style="WIDTH: 41pt; mso-width-source: userset; mso-width-alt: 1760" width=55>
<COL style="WIDTH: 47pt; mso-width-source: userset; mso-width-alt: 2016" width=63>
<COL style="WIDTH: 56pt; mso-width-source: userset; mso-width-alt: 2400" width=75>
<COL style="WIDTH: 55pt; mso-width-source: userset; mso-width-alt: 2336" width=73>
<COL style="WIDTH: 83pt; mso-width-source: userset; mso-width-alt: 3552" width=111>
id
20f
40f
40hf
箱型
1
14
0
0
20F
2
0
1
0
40F
3
0
2
0
40F
4
0
0
7
40HF
5
0
5
0
40F
6
3
0
0
20F
7
7
0
0
20F
8
8
0
0
20F
<TR height=26>
<TD class=xl23 width=55 height=26 x:num><FONT face=宋
作者: 小何 时间: 2007-5-12 19:17
怎么没有帮我啊急死人了.大家好心一下吧
作者: Grant 时间: 2007-5-12 19:35
SELECT 副表.id, 副表.[20f], 副表.[40f], 副表.[40hf], IIf([20F]>0,"20F",IIf([40f]>0,"40f",IIf([40hf]>0,"40hf"))) AS 箱型
FROM 副表;
都会写第一个iif了为什么就不会用镶套
作者: 小何 时间: 2007-5-12 22:28
呵呵~~~不好意思,谢谢你了!我想问一下,那如果在子数据内同一个ID号有2行数据时,第2行肯定不用>0数据,箱型如何也显示与第一行一样的呢?
[此贴子已经被作者于2007-5-12 16:29:49编辑过]
作者: Grant 时间: 2007-5-13 06:05
有个先后顺序~
作者: 小何 时间: 2007-5-14 16:38
能具体说一下吗?怎么操作
作者: hi-wzj 时间: 2007-5-14 16:49
表结构设计欠妥,建议更改为: id 箱型 值
这样能减少空间占用,减少条件的判断.当有新的箱型出现时不需要更改数据库结构.
作者: 小何 时间: 2007-5-14 18:00
问题我们现在表无法重新设计了,我这已经用了2年了,表内好多数据.
作者: 一点通 时间: 2007-5-14 18:06
用IIF继续分析下去
SELECT 副表.id, 副表.[20f], 副表.[40f], 副表.[40hf], IIf([20F]>0,"20F",IIf([40F]>0,"40F",IIf([40HF]>0,"40HF"))) AS 箱型
FROM 副表;
作者: 小何 时间: 2007-5-14 18:26
一点通大师,问题是我不知道怎么分析下去了哦!呵呵~~本人笨~~请教帮忙
作者: 一点通 时间: 2007-5-14 18:29
我已经给你做了例子了
作者: 小何 时间: 2007-5-14 18:59
以下是引用一点通在2007-5-14 10:06:00的发言:
用IIF继续分析下去
SELECT 副表.id, 副表.[20f], 副表.[40f], 副表.[40hf], IIf([20F]>0,"20F",IIf([40F]>0,"40F",IIf([40HF]>0,"40HF"))) AS 箱型
FROM 副表;
你这个在主表里可以,但如果在子数据内同一个ID号有2行数据时,第2行肯定不会>0数据,箱型如何也显示与第一行一样的呢?
[attach]24406[/attach]
[此贴子已经被作者于2007-5-14 11:04:17编辑过]
作者: 一点通 时间: 2007-5-14 19:09
看不明你的主表子表什么的
作者: 小何 时间: 2007-5-14 19:17
这样的,我先不要管主表.看
副表
id
主表ID
20f
40f
40hf
箱号
箱型
11
1
3
0
0
24536546
12
1
0
0
0
3543534
13
1
0
0
0
35435
14
2
0
2
0
365
15
<FONT style="FONT-SIZE: 9pt" face=宋体 color=#00
作者: 一点通 时间: 2007-5-14 19:22
这样的数据输入本来就是一个错误,表的制作也是一个错误
[此贴子已经被作者于2007-5-14 11:22:41编辑过]
作者: 小何 时间: 2007-5-14 19:32
呵呵~~~先不管错不错误,看能不能实现!
作者: 一点通 时间: 2007-5-14 19:47
难
作者: Grant 时间: 2007-5-14 22:45
一开始也不知道你需求什么,想了想,原来是子记录大于2条以上.
汗~想了很多方法,最后改成了模块发现iif判断相当慢,又将其改进.....
速度好多了,望有人改进,想单用查询来做,想了半天还是想不通.
[attach]24410[/attach]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |