Office中国论坛/Access中国论坛

标题: 数据表查询问题 [打印本页]

作者: fxbianxiu    时间: 2011-6-16 10:07
标题: 数据表查询问题
有如下一张会计科目表:

ID                      Name
1001                库存现金
1001001          人民币现金
1002                银行存款
1002001          中国银行
1002002          工商银行


想通过 SQL 语句转换成如下形式,即把一级科目名称加到二级科目名称之前,可以用过渡表,各种方式都行,请帮助:

ID                      Name
1001                库存现金
1001001          库存现金-人民币现金
1002                银行存款
1002001          银行存款-中国银行
1002002          银行存款-工商银行

作者: todaynew    时间: 2011-6-21 09:00
本帖最后由 todaynew 于 2011-6-21 09:03 编辑
fxbianxiu 发表于 2011-6-16 10:07
有如下一张会计科目表:

ID                      Name
写选择查询,则:
select *,iif(Len(ID)=8,Dlookup("name","科目表","ID='" & Left([ID],4) & "'") & "-" & name,name) as newname from 科目表

写为更新查询,则:
update 科目表 set name=Dlookup("name","科目表","ID='" & Left([ID],4) & "'") & "-" & name
where Len(ID)=8

作者: fxbianxiu    时间: 2011-6-23 07:43
我试一下啊,多谢指点
作者: fxbianxiu    时间: 2011-6-23 14:29
好用,真是高手高手高高手,谢谢
作者: fxbianxiu    时间: 2011-6-23 14:30
回复 todaynew 的帖子

非常感谢,如果我再有3级科目呢,应该怎么修改一下呀
作者: todaynew    时间: 2011-6-23 14:55
本帖最后由 todaynew 于 2011-6-23 14:57 编辑
fxbianxiu 发表于 2011-6-23 14:30
回复 todaynew 的帖子

非常感谢,如果我再有3级科目呢,应该怎么修改一下呀


iif套用,或编写一个子程序解决之。基本原理可参见《坐地分赃》一文中的处理。


作者: fxbianxiu    时间: 2011-6-23 19:09
整好啦,谢谢版主




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3