Office中国论坛/Access中国论坛
标题:
[求助]查询问题
[打印本页]
作者:
晴空雷
时间:
2007-6-19 19:53
标题:
[求助]查询问题
我自己弄了一个人员信息表,表中有每人都有5、6个编号,为了方便查询,我把表格做成下表
<COLGROUP>
<COL style="WIDTH: 54pt" span=4 width=72>
编号
姓名
性别
……
1a
张三
男
……
1b
张三
男
……
1c
张三
男
……
2a
李四
男
……
2b
李四
男
……
2c
李四
男
……
3a
王五
男
……
3b
王五
男
……
3c
王五
男
……
这样在用查询的时候只要对应编号就可以了,但是现在人员越来越多,存储空间越来越大,而且还有人员变动,每一次变更信息都要更改5、6条记录,且容易出错(附件中就是原来的情况)。
请高手帮忙看看能不能实现,我在录入信息表的时候按照以下格式:
<COLGROUP>
<COL style="WIDTH: 54pt" span=6 width=72>
编号1
编号2
编号3
姓名
性别
……
1a
1b
1c
张三
男
……
2a
2b
2c
李四
男
……
3a
3b
3c
王五
男
……
做一个查询将表格变成下表,再用下表作查询。
<TABLE cellSpacing=0 cellPadding=0 width=288 border=0 x:str>
<COLGROUP>
<COL style="WIDTH: 54pt" span=4 width=72>
编号
姓名
性别
……
<TR height=19>
1a
张三
<TD >
作者:
一点通
时间:
2007-6-19 20:04
晕,一个人要这么编号干嘛?
作者:
晴空雷
时间:
2007-6-19 20:13
赫赫,工作需要,我也没办法,谢谢了。
作者:
一点通
时间:
2007-6-19 21:37
你要明白一个道理,多点等于没有点,过多的编号会给以后处理造成麻烦的
作者:
poly
时间:
2007-6-19 22:34
用窗体做吧,或用交叉查询也可以做,不过那样你的表就得改一下了
[此贴子已经被作者于2007-6-19 14:36:21编辑过]
作者:
晴空雷
时间:
2007-6-19 23:37
谢谢4楼,我也不想这样,但是目前工作安排就是如此,我的笨方法越来越不实用,所以在网上寻求帮助,希望指点一二。
作者:
晴空雷
时间:
2007-6-19 23:39
5楼的兄弟是否可以给个提示,要如何更改表,或者做个例子参考一下,谢谢。
作者:
poly
时间:
2007-6-19 23:40
把表再分一下,用交叉查询做,纵向用编号,横向用姓名、性别等就行了,做一个典型的中国试查询
作者:
晴空雷
时间:
2007-6-19 23:46
赫赫,非常感谢,目前我用的就是这样的方式,但是这种方法非常不实用,如果我要更改一个人的信息,那么我至少要更改3~5条记录,特别容易出现差错。所以我才打算看看没有其他的方法。
作者:
poly
时间:
2007-6-19 23:52
如果你做出来的查询也可以改数据,你再基于这个查询做一个窗体,不就简单了
作者:
晴空雷
时间:
2007-6-20 00:27
抱歉,我明白你的意思,我目前直接用的是表,就如我在1楼中所写(第一个写着张三,李四的那个表),然后别的查询都通过对应编号进行对照查询。
我想达到的效果就是在录入表的时候按照1楼表2的格式进行录入,用个查询将表2转换成表1。
可能我的表述不是很清楚,千万别嫌我烦,谢谢了。
作者:
poly
时间:
2007-6-20 00:33
我也想知道不用交叉查询怎么样能做到你要的效果
作者:
晴空雷
时间:
2007-6-20 00:38
赫赫,那非常感谢了,对了你知道如何在adp中使用之前已经在access中的建好的模块么?
作者:
晴空雷
时间:
2007-6-20 01:39
还有谁能帮帮我呀!!!!!!!!!!!!!!!!!谢谢了,
作者:
glw
时间:
2007-6-20 04:07
SELECT 表1.编号1, 表1.姓名, 表1.性别
FROM 表1 union all SELECT 表1.编号2, 表1.姓名, 表1.性别
FROM 表1 UNION ALL SELECT 表1.编号3, 表1.姓名, 表1.性别
FROM 表1;
作者:
eyewitnes
时间:
2007-6-20 18:03
为什么要自己给出编号?用系统的自动编号不行?或者再进一步,用姓氏的拼音首个字母加上系统的自动编号作为索引(这个稍微麻烦些)也可以吖
作者:
晴空雷
时间:
2007-7-4 18:24
呵呵,强,感谢![em02][em01][em01]
作者:
晴空雷
时间:
2007-7-4 18:27
呵呵,编号不是我可以控制的,是工作性质和上面领导决定的。感谢所有兄弟。
作者:
一点通
时间:
2007-7-4 18:40
这个问题建议用两个表来记录,分别为主名表,别名表
主名表: 主名ID 姓名
别名表: 主名ID 别名(也可以是编号)
将两个表以[主名ID]作关联,实施参照完整性,级联更新相关字段,
这样就容易变更所有的记录了
作者:
晴空雷
时间:
2007-7-4 19:03
哦,的确不错,感谢了,不过这样要实现我要的结果是不是还是需要16楼那样转化换一下。
另外我想搞一搞adp,但是原来的模块都不能用,而我用里面的定义总是搞不好,有什么方法么?谢谢了。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3