>> 本版精华贴    X++和MorphxX技术讨论区
搜一搜更多此类问题 
秋毫ERP咨询-微软Dynamics Ax Axapta Nav SL CRM论坛微软ERP Dynamics系列【本版最新】『Microsoft Dynamics Ax (Axapta) 开发』 → ax中多表外连接显示数据(view)问题的解决

您是本帖的第 239 个阅读者
树形 打印
标题:
ax中多表外连接显示数据(view)问题的解决
作 者
帖 子
laoheiya
帅哥哟,离线,有人找我吗?
等级:技术员
积分:43
现金:47
文章:3
门派:无门无派
注册:2010年6月11日
楼主
  点击这里发送电子邮件给laoheiya 访问laoheiya的主页

发贴心情
ax中多表外连接显示数据(view)问题的解决
发表于2010-6-24 15:12:24
初学ax,当看到View中不支持主表对多从表(外连接)时,类似(oracle写法):

select ...

.from table_a, table_b,table_c

where table_a.id = table_b.id(+)

and table_a.id = table_c.id(+)

第一反应是麻烦了,因为这个需求在很多地方都要用到,网上g下也没找到相关例子,自己摸索了两天终于找到解决办法,并有两种思路:

方法1、form上直接加(缺点:无法重用)

a、创建 form,并增加grid控件

b、增加datasource: table_a(主表),table_b,table_c(附加表或明细表),table_b,table_c的relations要先提前设置好和table_a相关字段的关联

c、table_b,table_c的属性JoinSource设置成table_a, LinkType设置成OuterJoin(或其他,根据需要)

d:把table_a,table_b,table_c中需要显示的字段拖拉到grid中

e:grid的DataSource设置成table_a,必须的,否则数据不显示

f:运行

方法2:用View实现

呵呵,可能大家第一反应就是:View不是不支持?View是不支持,但是Queries支持,我们要做的是把Queries作为View中的DataSource.具体步骤如下:

a:创建Queries(Q_TEST),第一层DataSource选table_a,

b:table_a下的DataSource把table_b,table_c拉进去

c:table_b,table_c的JoinMode属性设置成OuterJoin,relations设置成yes,必须的,要不达不到效果。

d:做到这里,只是创建了个多表外连接的Queries.创建View,Query属性设置成Q_TEST,保存。

e:展开Metadata,可以看到下面产生了一个和DataSource并列的Q_TEST.

f: 这时候如果把Q_TEST展开,把里面的fields直接拉到View的Fields,是拉不过去的。需要在View的Fields点右键new view fields,并把DataSource和DataFields设置成我们需要的Field,

此步非常关键.
http://momoxiaopu2010.taobao.com/search-cat-61247106-209318727-yrHJ0MTQ17A=.htm?checkedRange=true

http://momoxiaopu2010.taobao.com/view_page-15350662.htm

g:做到这里,一个我们需要的View就创建成功了!

h:最后就是创建form,增加grid,并把我们创建好的view拉到DataSource中,字段拉到grid中

i:运行
[此贴子已经被作者于2010-6-24 15:26:12编辑过]
ip地址已设置保密
2010-6-24 15:12:24
jjyy1075
帅哥哟,离线,有人找我吗?
等级:准顾问
积分:461
现金:499
文章:67
门派:无门无派
注册:2008年8月18日
2
  点击这里发送电子邮件给jjyy1075

发贴心情
发表于2010-7-27 14:31:38
hao
ip地址已设置保密
2010-7-27 14:31:38
eddiehe
帅哥哟,离线,有人找我吗?
等级:准顾问
积分:610
现金:821
文章:60
门派:无门无派
注册:2008年4月2日
3
  点击这里发送电子邮件给eddiehe

发贴心情
发表于2010-8-4 19:22:31

说道里:   “d:做到这里,只是创建了个多表外连接的Queries.创建View,Query属性设置成Q_TEST,保存。”

文中涂红色的设置,在哪里设?不论是新建的QUERY也好,还是VIEW也好,其属性都没有这 Query项?


MSN: heyuezhang@hotmail.com QQ: 645550611 SKYPE: lh_lh_computer
ip地址已设置保密
2010-8-4 19:22:31

 3   3   1/1页      1    

粤ICP备06100540号 】 广告及业务联系】秋毫IT百科】
Copyright ©2006-2008 www.QiuHao.com地图1】【地图2】【地图3】【所有贴】【技术文集】 【秋毫ERP