注册 登录
编程论坛 VB6论坛

还是关于mshflexgrid显示的问题

落日幻影 发布于 2013-10-18 12:20, 451 次点击
我能做到的是这个样子
只有本站会员才能查看附件,请 登录

但怎么才能显示成下面这个样子
只有本站会员才能查看附件,请 登录
2 回复
#2
落日幻影2013-10-18 12:27
要用循环语句写出来
#3
风吹过b2013-10-19 16:39
基本达到 下面的那个显示结果,但有重复记录在,我现在还没想到如何去掉重复。

基本 ACCESS 查询写的。没用 mshflexgrid 。
你未提供数据表,造成测试很烦琐。
四个表,A:主数据。B,C,D 依次是三个字典表。

一、五个基本查询。
1、查询2-L:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS L
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='L'
ORDER BY A.款号, A.部位号, A.尺寸号;

2、查询2-M:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS M
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='M'
ORDER BY A.款号, A.部位号, A.尺寸号;

3、查询2-L:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS L
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='L'
ORDER BY A.款号, A.部位号, A.尺寸号;

4、查询2-XL:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS XL
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='XL'
ORDER BY A.款号, A.部位号, A.尺寸号;

5、查询2-XXL:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS XXL
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='XXL'
ORDER BY A.款号, A.部位号, A.尺寸号;

二、查询的结果。
我使用的是 联合查询,未查 XXL 数据。
SELECT [查询2-X].款式, [查询2-X].部位, [查询2-X].尺寸 AS X, [查询2-M].尺寸 AS M, [查询2-L].尺寸 AS L, [查询2-XL].尺寸 AS XL
FROM [查询2-X], [查询2-M], [查询2-L], [查询2-XL]
WHERE [查询2-X].款式=[查询2-M].款式 And [查询2-X].部位=[查询2-M].部位 And [查询2-X].款式=[查询2-L].款式 And [查询2-X].部位=[查询2-L].部位 And [查询2-X].款式=[查询2-XL].款式 And [查询2-X].部位=[查询2-XL].部位
UNION
SELECT [查询2-X].款式, [查询2-X].部位, [查询2-X].尺寸 AS X, [查询2-M].尺寸 AS M, [查询2-L].尺寸 AS L,'' as XL
FROM [查询2-X], [查询2-M], [查询2-L], [查询2-XL]
WHERE [查询2-X].款式=[查询2-M].款式 And [查询2-X].部位=[查询2-M].部位 And [查询2-X].款式=[查询2-L].款式 And [查询2-X].部位=[查询2-L].部位
UNION
SELECT [查询2-X].款式, [查询2-X].部位, [查询2-X].尺寸 AS X, [查询2-M].尺寸 AS M ,'' as L,"" as XL
FROM [查询2-X], [查询2-M], [查询2-L], [查询2-XL]
WHERE [查询2-X].款式=[查询2-M].款式 And [查询2-X].部位=[查询2-M].部位;

问题:有重复数据。比如查 4个查询时,只有含有 XL 数据那种类型会被查到,如果 XL 为空,则查不到。
在查 L 数据时,也会把查 XL 时查到的数据也列出来, 生成重复数据。
1