線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:824
推到 Plurk!
推到 Facebook!

列印方式

尚未結案
jimmyhuang
一般會員


發表:3
回覆:2
積分:1
註冊:2005-07-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-20 10:09:28 IP:203.79.xxx.xxx 未訂閱
請問要如何將從資料庫 Select 出來的多筆資料分別取各筆資料的某幾個欄位 做由左而又再由上而下的一筆一筆列印呢? 例如 : SELECT LA_LOOKDT ,LA_SEQ ,LA_MEDNO ,LA_DIACODE , LA_WORKNO ,LA_LMSEQ ,LA_NAME ,LA_CULLDATE , LA_CULLOPID ,LA_BEDNO ,LA_REPDATE ,LA_REPTIME , LA_VALUE ,LA_STATE ,LA_REPOPID ,LA_MEMO , LA_DIANAME ,LA_CLASS ,Ob_Next , OB_InsDoc ,OB_LOOKNO ,OB_SECTNO , OB_ROOMNO ,OB_SHIFT ,OB_DISENAME , OB_BELONG1 ,OB_BELONG2 ,OB_DISBELONG , MH_NAME ,MH_SEX ,SE_NAME ,RO_NAME , EM_EMPNAME ,BE_EASYNAME,OB_PROCTIME FROM TOPLAB,Outer TREMED,Outer (TOPOPB,Outer TREEMP, Outer TRESEC,Outer TREROO,Outer TREBNG) WHERE LA_SENDCD='3' AND LA_REPORT='Y' AND LA_BEDNO='' AND LA_LOOKDT=OB_LOOKDT AND LA_MEDNO=OB_MEDNO AND LA_SEQ=OB_SEQ AND OB_TYPE IN ('G','A','B','F') AND LA_MEDNO=MH_MEDNO AND OB_DOCCD=EM_EMPNO AND OB_SECTNO=SE_SECTNO AND OB_ROOMNO=RO_ROOMNO AND OB_BELONG1=BE_BELONGNO AND LA_MEDNO='00213248' AND LA_DIACODE='CBC' AND LA_Lookdt>='0940401' AND LA_Lookdt<='0941010' ORDER BY LA_Lookdt,LA_MEDNO[7,8],La_Seq,LA_CLASS,LA_DIACODE,LA_WORKNO,LA_LmSeq 上述的語法會找出很多筆的符合資料 , 那我要如何列印每一筆的第一個欄位由左至右 例如 : 0941020 第一筆第一欄 第二筆第一欄 第三筆第一欄 .... 依此類推 第一筆第二欄 第二筆第二欄 第三筆第二欄 .... 依此類推 第一筆第三欄 第二筆第三欄 第三筆第三欄 .... 依此類推 . . . 依此類推 請問要如何做到呢 ? 拜託 各位
scotthsiao
高階會員


發表:13
回覆:324
積分:147
註冊:2005-02-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-20 10:54:18 IP:210.66.xxx.xxx 未訂閱
可以用 Delphi 內含的報表產生器來列印
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-20 19:27:07 IP:220.134.xxx.xxx 未訂閱
For example:
   LA_LOOKDT  LA_MEDNO LA_DIACODE ...
   ---------  -------- ---
   0941008    00213248 CBC
   0941009    03222651 UUU      
   0941010    04260965 DOA
   
CREATE TABLE t( 
   F1  VARCHAR2(8),
   F2  VARCHAR2(8), 
   F3  VARCHAR2(8)
);    PL/SQL code such as:    DECLARE  
  TYPE COLarray is table of varchar2(2048) index by binary_integer;
  cursor bcur 
       IS
       SELECT LA_LOOKDT,LA_MEDNO,LA_DIACODE from 
       WHERE ..   ;
       
  col_str COLarray;
                  
begin
  col_str(1) :='insert into t values(''';
  col_str(2) :='insert into t values(''';
  col_str(3) :='insert into t values(''';
  ...
  for brec in bcur
  loop
    col_str(1):=col_str(1) || brec.LA_LOOKDT || ''',''';
    col_str(2):=col_str(2) || brec.LA_MedNo || ''',''';
    col_str(3):=col_str(3) || brec.LA_DIA || ''',''';
    ...
  end loop;
  
  for i in 1..col_sts.count
  loop
    col_str(i) := substr(col_str(i),1, length(col_str(i)-2) || ')';
    dbms_output.put_line(cols(i));
    execute immediate col_str(i);
  end loop;
  
end;    Result:
select * from t;
      F1       F2       F3 
      -------- -------- --------  
DATE  0941008  0941009  0941010 
MedNo 00213248 03222651 04260965
DIA   CBC      UUU      DOA    
If you used ORACLE DB., You can try!
------
What do we live for if not to make life less difficult for each other?
系統時間:2024-06-28 13:33:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!