起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 212|回复: 1

【搞定】2144升级到X32617之后,SQL条件构造窗体中没有了条件下拉字段项供选择**

[复制链接]
发表于 2007-5-5 16:31:04 | 显示全部楼层 |阅读模式
我们在2144中做了个通用的报表界面,目前,共有近400个报表都是通过一个界面(界面上放一个导航条 及 一个网格 及 报表选择下拉框 等对象),升级后,在X3中出现以下现像:
报表A从 数据库1 取数,报表B从 数据库2 取数,取数及显示到网格一切OK,但导航条中的过滤按钮弹出的对话框,只有从数据库1中取数的报表 才有条件字段,从其它数据库取数的报表,过滤条件没有下拉项;

测试代码如下:


procedure TSJWG1.Button1Click(Sender: TObject);
var
  lSQL: string;
begin
  Refinfo.DataSetBZSJJ1.Close;
  Refinfo.DataSetBZSJJ1.ConnectionString := 'DATABASEURL=Biz:\JEWIMPHARMA\WAREHOUSESPACE\WareHouseDB.Database'; //从业务库取数

  lSQL := 'SELECT * FROM ST_INFORMHEADER';
  Refinfo.DataSetBZSJJ1.SQL.Text:=lSQL;
  Refinfo.DataSetBZSJJ1.Open;  //此时过滤对话框中能下拉条件字段
end;


procedure TSJWG1.Button2Click(Sender: TObject);
var
  lSQL: string;
begin
  Refinfo.DataSetBZSJJ1.Close;
  Refinfo.DataSetBZSJJ1.ConnectionString := 'DATABASEURL=Biz:\SYSTEM\System.DataBase';  //从系统库取数

  lSQL := 'SELECT * FROM SYS_TABLEFIELD';
  Refinfo.DataSetBZSJJ1.SQL.Text:=lSQL;
  Refinfo.DataSetBZSJJ1.Open; //此时过滤对话框中没有条件字段
end;


procedure TSJWG1.Button3Click(Sender: TObject);
var
  lSQL: string;
begin
  Refinfo.DataSetBZSJJ1.Close;
  Refinfo.DataSetBZSJJ1.ConnectionString := 'DATABASEURL=Biz:\JEWIMPHARMA\WAREHOUSESPACE\WareHouseDB.Database'; //从业务库取数

  lSQL :='select st_storeheader.memo,st_storedetail.sourcetype,st_storedetail.sourceno'
    + ' FROM st_storeheader,st_storedetail WHERE st_storeheader.PRIMARYID=st_storedetail.LINKID AND ROWNUM<=10';
  Refinfo.DataSetBZSJJ1.SQL.Text:=lSQL;
  Refinfo.DataSetBZSJJ1.Open;  //此时过滤对话框中又有条件字段可下拉出来供选择了

end;
回复

使用道具 举报

 楼主| 发表于 2007-5-6 15:04:30 | 显示全部楼层
问题找到了,使用URL切换数据库就OK了
用Refinfo.DataSetBZSJJ1.DATABASE.URL:= 'Biz:\SYSTEM\System.DataBase'
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-19 23:51 , Processed in 0.040877 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表