设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1624|回复: 3
打印 上一主题 下一主题

[查询] 搞不懂,看了几个都不懂。求帮忙。

[复制链接]
1#
发表于 2018-9-28 17:09:46 | 显示全部楼层
一个查询就可以做到。下面做了一个4层的例子,看看能不能用。层数只受access关联表数的限制。层数太多,IIF语句不好写,可自编一个函数代替。

SELECT A.父编码, IIf(IsNull([C].[子编码]),IIf(IsNull([B].[子编码]),[A].[层级],[B].[层级]),[C].[层级]) AS 层, IIf(IsNull([C].[子编码]),IIf(IsNull([B].[子编码]),[A].[子编码],[B].[子编码]),[C].[子编码]) AS 码, IIf(IsNull(A.用量),1,A.用量)*IIf(IsNull(B.用量),1,B.用量)*IIf(IsNull(C.用量),1,C.用量) AS 量
FROM (Bom明细表 AS A LEFT JOIN Bom明细表 AS B ON A.子编码=B.父编码) LEFT JOIN Bom明细表 AS C ON B.子编码=C.父编码;

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 08:48 , Processed in 0.103643 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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