程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> 從Oracle的FORM中調用REPORT的實用技巧

從Oracle的FORM中調用REPORT的實用技巧

編輯:關於Oracle數據庫

  問:從Oracle的FORM中調用REPORT有什麼常用的技巧?

  答:具體方法如下;

  在菜單中調用REPORT程序(不傳參數,傳參數可用下面的程序段)

Run_Product(REPORTS, '報表程序名.REP', SYNCHRONOUS,
RUNTIME, FILESYSTEM, '', NULL);
在FORM中調用REPORT程序(可傳參數)
DECLARE
       pl_id ParamList;
BEGIN
       pl_id := Get_Parameter_List('參數列表名');
       IF NOT Id_Null(pl_id) THEN
              Destroy_Parameter_List( pl_id );
       END IF;
       pl_id := Create_Parameter_List('參數列表名');
       Add_Parameter(pl_id,'REPORT參數名1',
       DATA_PARAMETER,':FORM項名1');
       Add_Parameter(pl_id,'REPORT參數名2',
       TEXT_PARAMETER,':FORM項名2');
       … …
       Run_Product(REPORTS, '報表程序名.REP',
       SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);
END;

  在報表中使用參數作為幫定變量時在其前面加一個冒號(:),如:有一個參數p_deptno,傳來的值為10,則select * form emp where deptno=:p_deptno將返回表emp中deptno為10的記錄。

  在報表中使用參數作為詞匯參數時在起前面加一個“與”符號(&),如:有一個參數p_where,傳來的值為where deptno=10,則select * from emp &p_where也將返回表emp中deptno為10的記錄。

  在調用REPORT時,去掉report server:

  Add_parameter(pl_id,'ORACLE_SHUTDOWN',TEXT_PARAMETER,'YES');

  調用REPORT時,使報表結果直接輸出到打印機上:

  Add_parameter(pl_id,'PSRAMETER_FORM',TEXT_PARAMETER,'NO');

  調用REPORT時,不彈出參數窗口:

  add_parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO');

  調用REPORT時,以滿屏方式顯示:

  add_parameter(pl_id, 'maximize', TEXT_PARAMETER,'yes');

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved