Dear Tory (My friend),
   
  Mudah2an ini membantu... sy pernah searching... dan sy sudah terapkan di 
tempatku bekerja...   sy pake DEV 2000... ini bs bekerja di DEV 6i... kecuali 
yg sudah webbased y...
   
  DECLARE 
     appid            PLS_INTEGER; 
     convid           PLS_INTEGER; 
     docid            PLS_INTEGER; 
     conv_established BOOLEAN := FALSE; 
     buffer           CHAR(100);  /* This determines the maximum size of 
                                     of the values being returned from 
                                     Excel.  Adjust it if your values exceed 
                                     this. */ 
     nRow number:=1;
     cRC1 varchar2(8);
     cRC2 varchar2(8);
     cRC3 varchar2(8);
     cRC4 varchar2(8);
     cRC5 varchar2(8);
     cRC6 varchar2(8);
     cRC7 varchar2(8);
     cRC8 varchar2(8);
     cRC9 varchar2(8);
     cRC10 varchar2(8);
     cRC11 varchar2(8);
     cRC12 varchar2(8);
     cRC13 varchar2(8);
/* Begin trigger DDE sample */ 
BEGIN 
 
   /* Start Excel */ 
   /* This line assumes that Excel is in the directory e:msofficeexcel */ 
   APPID := DDE.APP_BEGIN('c:\Program Files\Microsoft Office\Office\Excel.EXE', 
                          DDE.APP_MODE_NORMAL); 
 
   /* Establish a conversation with Excel */ 
   /* The following loop will not end until a conversation with Excel 
   has been established.  Therefore, it can result in a endless loop, 
   so use with caution. */ 
   WHILE NOT conv_established LOOP 
     BEGIN 
       convid := DDE.INITIATE('excel', 'system'); 
       conv_established := TRUE; 
     EXCEPTION 
       WHEN DDE.DMLERR_NO_CONV_ESTABLISHED THEN 
       conv_established := FALSE; 
     END; -- loop 
   END LOOP; 
 
   /* Open Excel document */ 
   /* This assumes that you have an Excel spreadsheet named err.xls 
   in the root of e: */ 
     DDE.EXECUTE(convid, '[Open("c:\err.xls")]', 10000); 
 
   /* Initiate conversation with Excel document */ 
     docid := DDE.INITIATE('excel', 'c:\err.xls'); 
 
   /* Begin transfer to Excel */ 
     DDE.POKE(docid, 'R1C1', 'CONTRACT', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C2', 'ORDER NO', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C3', 'SO QTY', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C4', 'PART NO', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C5', 'DOP ID', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C6', 'PE', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C7', 'DEL DATE', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C8', 'WC NO', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C9', 'DEPARTMENT', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C10', 'DATE FROM', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C11', 'DATE TO', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C12', 'QTY', DDE.CF_TEXT, 10000); 
     DDE.POKE(docid, 'R1C13', 'TOTAL QTY BREAK', DDE.CF_TEXT, 10000); 
       go_block('EKO_OPERATION_V');   first_record;
     loop
        nRow:=nRow+1;
        cRC1:='R'||to_char(nRow)||'C1';
        cRC2:='R'||to_char(nRow)||'C2';
        cRC3:='R'||to_char(nRow)||'C3';
        cRC4:='R'||to_char(nRow)||'C4';
        cRC5:='R'||to_char(nRow)||'C5';
        cRC6:='R'||to_char(nRow)||'C6';
        cRC7:='R'||to_char(nRow)||'C7';
        cRC8:='R'||to_char(nRow)||'C8';
        cRC9:='R'||to_char(nRow)||'C9';
        cRC10:='R'||to_char(nRow)||'C10';
        cRC11:='R'||to_char(nRow)||'C11';
        cRC12:='R'||to_char(nRow)||'C12';
        cRC13:='R'||to_char(nRow)||'C13';
         
        DDE.POKE(docid, cRC1, :EKO_OPERATION_V.CONTRACT, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC2, :EKO_OPERATION_V.ORDER_NO, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC3, :EKO_OPERATION_V.revised_qty_due, DDE.CF_TEXT, 
10000); 
        DDE.POKE(docid, cRC4, :EKO_OPERATION_V.PART_NO, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC5, :EKO_OPERATION_V.DOP, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC6, :EKO_OPERATION_V.PE, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC7, :EKO_OPERATION_V.DEL_DATE, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC8, :EKO_OPERATION_V.WC_NO, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC9, :EKO_OPERATION_V.DEPARTMENT_NO, DDE.CF_TEXT, 
10000); 
        DDE.POKE(docid, cRC10, :EKO_OPERATION_V.DATEFROM, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC11, :EKO_OPERATION_V.DATETO, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC12, :EKO_OPERATION_V.QTY, DDE.CF_TEXT, 10000); 
        DDE.POKE(docid, cRC13, :EKO_OPERATION_V.QTYBREAK, DDE.CF_TEXT, 10000); 
         
        exit when :system.last_record='TRUE';
        next_record;
     end loop;
   
   /*End transfer to Excel */ 
     DDE.TERMINATE(docid); 
     DDE.TERMINATE(convid); 
     DDE.APP_END(appid); 
 
/* Handle exceptions */ 
EXCEPTION 
  WHEN DDE.DDE_APP_FAILURE THEN 
    MESSAGE('WINDOWS APPLICATION CANNOT START.'); 
  WHEN DDE.DDE_PARAM_ERR THEN 
    MESSAGE('A NULL VALUE WAS PASSED TO DDE'); 
  WHEN DDE.DMLERR_NO_CONV_ESTABLISHED THEN 
    MESSAGE('DDE CANNOT ESTABLISH A CONVERSATION'); 
  WHEN DDE.DMLERR_NOTPROCESSED THEN 
    MESSAGE('A TRANSACTION FAILED'); 
 
/* End of trigger */ 
END; 


tory byantoro <[EMAIL PROTECTED]> wrote:
          Dh,

Bagaimana caranya hasil data yang sudah muncul di form (6i) dari hasil query, 
kemudian data yang muncul saya mau export langsung ke file excel.

Terima kasih

__________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile. Try it now. 
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ


                           

       
---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile.  Try it now.

[Non-text portions of this message have been removed]

Kirim email ke