需求:
现在要检索一个单据(yishiyiyijingji2Head),查询界面上有很多条件,但是其中 三个查询条件: 企业名称,税务电脑代码,税务登记证代码,现在要 拼上 关联查询
下面以 企业名称 为例,比如 查询界面上,企业名称 输入 东方绿洲
原来是 select * from X where billdate between TO_DATE('2005-03-27', 'YYYY-MM-DD') and TO_DATE('2010-05-07', 'YYYY-MM-DD') and Upper(qiyemingcheng) like Upper('%东方绿洲%')
那么现在要变成
select * from X where billdate between TO_DATE('2005-03-27', 'YYYY-MM-DD') and TO_DATE('2010-05-07', 'YYYY-MM-DD') and qiyemingcheng in (select distinct qiyemingcheng from scm_yishiyiyihuguanhead where billid1 in (select distinct billid1 from scm_yishiyiyihuguanhead where Upper(qiyemingcheng) like Upper('%东方绿洲%') ) )
税务电脑代码,税务登记证代码 也一样,如果 查询界面上 输入值,就把 关联查询 拼到sql文里,我得到CC的帮助,试过很多方式都没能实现
现在又看宝典2,27,想加一个无数据源的 自定义的 新条件,代替原来的 条件
是想 企业名称 输入 东方绿洲, 新条件 文本框 生成
(qiyemingcheng in(select distinct qiyemingcheng from scm_yishiyiyihuguanhead where billid1 in (select distinct billid1
from scm_yishiyiyihuguanhead where Upper(qiyemingcheng) like Upper('%东方绿洲%')))) 按照宝典 可以加上到sql文里 ,但是 原来的 条件 and Upper(qiyemingcheng) like Upper('%东方绿洲%')同时存在,不去掉,自定义加的新条件不起作用, 现在不知道 怎么去掉原来的条件
以自定义"企业名称"为例来说明一下操作步骤:
1,新加一个无数据源 查询字段 "企业名称1",去掉用户喜好, 设置CondDefaultSign="Custom" ,设置行高为0
2,去掉View_yishiyiyijingji2View.xml 里的 WhereClause
3,在"企业名称" 字段里写个Triggers ,用SetValue() 给"企业名称1" 赋拼写好的SQL 语句
代码如下:
<BillMetaField Key="qiyemingcheng@ONE" Caption="企业名称1" DBLocation="Table2" FieldType="Varchar" CharLen="500" CondDefaultSign="Custom" UseUserCfg="False" ControlType="TEXTBOX"> <BillMetaUITextBox InvalidChars=""> <BillMetaUICommon left="2" top="8" width="1" height="1" PanelKey="main_container"/> <BillMetaUIFont/> <BillMetaUIInnerLabel left="1" top="8" width="1" height="1" valignment="CENTER" PanelKey="main_container"> <BillMetaUIFont/> </BillMetaUIInnerLabel> </BillMetaUITextBox> </BillMetaField> <BillMetaField Key="qiyemingch" Caption="企业名称" DBLocation="None" FieldType="Varchar" CharLen="100" Triggers="if(value(qiyemingch)<>"",setvalue(qiyemingcheng@ONE,{qiyemingcheng in (select distinct qiyemingcheng from scm_yishiyiyihuguanhead where billid in (select distinct billid from scm_yishiyiyihuguanhead where Upper(qiyemingcheng) like Upper('%}&value(qiyemingch)&{%')))}),setvalue(qiyemingcheng@ONE,""))" CondDefaultSign="Custom" UseUserCfg="False" ControlType="TEXTBOX"> <BillMetaUITextBox InvalidChars=""> <BillMetaUICommon left="2" top="7" width="1" height="1" PanelKey="main_container"/> <BillMetaUIFont/> <BillMetaUIInnerLabel left="1" top="7" width="1" height="1" valignment="CENTER" PanelKey="main_container"> <BillMetaUIFont/> </BillMetaUIInnerLabel> </BillMetaUITextBox> </BillMetaField>
<BillMetaUIPanel Key="main_container" Width="0" Cols="6" Rows="28" ColWidth="20;100;130;20;40;130" RowHeight="5;25;5;25;5;25;5;30;0;25;5;25;5;25;5;25;5;25;5;25;5;25;5;25;20;25;5;25"/>