在 classlist 表中
id,title,parent....
2 机构设置 1
3 干部一科 2
4 工作日志 3
5 工作研究 3
6 工作统计 3
7 干部二科 2
8 工作日志 7
9 工作研究 7
10 工作统计 7
11 干部三科 2
12 工作日志 11
13 工作研究 11
14 工作统计 11在记录表中 news
id,class,title,content...
1,  4,   今日日志  .....
.
.
.我想统计 机构设置类下以各干部科为单位[包含子类记录] 的记录总计统计求Access 数据库
的解决方案
Sql也行

解决方案 »

  1.   

    CREATE TABLE tb(ID int, title varchar(10) ,ParentID int)
    Insert tb select 2,'机构设置',1
    union all select 3,'干部一科',2
    union all select 4,'工作日志',3
    union all select 5,'工作研究',3
    union all select 6,'工作统计',3
    union all select 7,'干部二科',2
    union all select 8,'工作日志',7
    union all select 9,'工作研究',7
    union all select 10,'工作统计',7
    union all select 11,'干部三科',2
    union all select 12,'工作日志',11
    union all select 13,'工作研究',11
    union all select 14,'工作统计',11
    GO
    --查询指定节点及其所有子节点的函数
    CREATE FUNCTION f_Cid(@ID int)
    RETURNS @t_Level TABLE(ID int,Level int)
    AS
    BEGIN
    DECLARE @Level int
    SET @Level=1
    INSERT @t_Level SELECT @ID,@Level
    WHILE @@ROWCOUNT>0
    BEGIN
    SET @Level=@Level+1
    INSERT @t_Level SELECT a.ID,@Level
    FROM tb a,@t_Level b
    WHERE a.ParentID=b.ID
    AND b.Level=@Level-1
    END
    RETURN
    END
    GO
    Select 记录总统计数 = count(1)
    From 
    (SELECT a.* 
    FROM tb a,f_Cid(2) b
    WHERE a.ID=b.ID ) A
      

  2.   

    上述包括根类,机构设置类下以各干部科为单位[包含子类记录] 的记录总计统计count(1)-1即可