按照你取m的代码  直接修改
	SELECT 交货单 AS 交货单号, Count([库位]) AS M个数
FROM 基础数据
WHERE [库位]like'M*' or  [库位]like'h*'
GROUP BY 交货单;
	这个应该可以实现的吧
	
	
	或者你如果要的是  先H个数 再M个数  再合计 那样就要子查询 或建中间表查询   例如:
	建中间表查询
	SELECT 基础数据.交货单, b.库位h计数, a.库位M计数, Nz([库位h计数],0)+Nz([库位m计数],0) AS 合计
FROM (基础数据 LEFT JOIN (SELECT 基础数据.交货单, Count(基础数据.库位) AS 库位h计数
FROM 基础数据
WHERE (((Left([库位],1))="h"))
GROUP BY 基础数据.交货单)  AS b ON 基础数据.交货单 = b.交货单) LEFT JOIN (SELECT 基础数据.交货单, Count(基础数据.库位) AS 库位M计数
FROM 基础数据
WHERE (((Left([库位],1))="m"))
GROUP BY 基础数据.交货单)  AS a ON 基础数据.交货单 = a.交货单
GROUP BY 基础数据.交货单, b.库位h计数, a.库位M计数, Nz([库位h计数],0)+Nz([库位m计数],0);
	
		
	
	子查询方法:
	SELECT a.交货单, (select count(b.库位) from 基础数据 as b where a.交货单 = b.交货单 and Left([b.库位],1)="h" GROUP BY b.交货单) AS 库位h计数,(select count(c.库位) from 基础数据 as c where a.交货单 = c.交货单 and Left([c.库位],1)="m" GROUP BY c.交货单) AS 库位m计数,nz(库位h计数)+NZ(库位M计数) as 合计
FROM 基础数据 as a
GROUP BY a.交货单