terimakasih solusinya pak tp kl manual begini lumayan ribet yah karena report saya banyak banget dan kompleks lg reportnya..ada cara yg lebih simple ngga pak?
--- On Tue, 7/15/08, Pro ScootZ <[EMAIL PROTECTED]> wrote: > From: Pro ScootZ <[EMAIL PROTECTED]> > Subject: Re: [indopb] HELP...Ada yang sudah pernah melakukan export laporan > dw ke excel di powerbuilder versi 5?? > To: [email protected] > Date: Tuesday, July 15, 2008, 10:45 PM > YA KLU MO SAMA PERSIS YA HARUS DIATUR SECARA MANUAL.. KLU DW > LANGSUNG DI EXPORT PASTI NGK AKN SESUAI > > CONTOH : > > OLEObject ole_excel > string ls_place[33] = > {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG'} > integer i,a,li_result,ex,li_no > decimal{0} ld_jams[12],ld_upah[12] > decimal ld_totaljams,ld_totalupah > string > ls_asc,ls_yy,ls_ym,ls_select,ls_pnl_no,ls_KPJ_NO,ls_PNL_NM,ls_BIRTH_D,ls_HIRE_D,ls_UP_D > > dw_1.accepttext() > // dw_2.accepttext() > > ls_yy = > dw_1.getitemstring(dw_1.getrow(),'as_yyyy') > > ls_select = > dw_1.getitemstring(dw_1.getrow(),'as_select') > > ole_excel = CREATE OLEObject > li_result = > ole_excel.ConnectToNewObject("excel.application") > ole_excel.Workbooks.Add > ole_excel.Application.Visible = True > ole_excel.ActiveWindow.DisplayGridlines = True > ole_excel.ActiveSheet.PageSetup.LeftMargin = > ole_excel.Application.InchesToPoints(0.196850393700787) > ole_excel.ActiveSheet.PageSetup.RightMargin = > ole_excel.Application.InchesToPoints(0.196850393700787) > ole_excel.ActiveSheet.PageSetup.TopMargin = > ole_excel.Application.InchesToPoints(0.393700787401575) > ole_excel.ActiveSheet.PageSetup.BottomMargin = > ole_excel.Application.InchesToPoints(0.393700787401575) > ole_excel.Cells.Select > ole_excel.Selection.Font.Name = 'Times New > Roman' > ole_excel.Cells.Font.size = 8 > ole_excel.Selection.columnWidth = 10 > > ls_asc = ls_place[1] + string(1) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'IURAN DUMTK > 2% PT ...... - ' + trim(gs_factno) > ls_asc = ls_place[1] + string(1) + ':' + > ls_place[33] + string(1) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > ole_excel.Range(ls_asc).Font.Size = 14 > ole_excel.Selection.Font.Bold = True > ole_excel.Selection.HorizontalAlignment = 3 //Center > > ls_asc = ls_place[1] + string(2) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'TAHUN - > ' + ls_yy > ls_asc = ls_place[1] + string(2) + ':' + > ls_place[33] + string(2) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > ole_excel.Range(ls_asc).Font.Size = 14 > ole_excel.Selection.Font.Bold = True > ole_excel.Selection.HorizontalAlignment = 3 //Center > > ls_asc = ls_place[1] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'NO' > > ls_asc = ls_place[2] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'KPJ' > > ls_asc = ls_place[3] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'NIK' > > ls_asc = ls_place[4] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'NAMA' > > ls_asc = ls_place[5] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'LAHIR' > > ls_asc = ls_place[6] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'JANUARI' > ls_asc = ls_place[6] + string(4) + ':' + > ls_place[7] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[8] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = > 'PEBRUARI' > ls_asc = ls_place[8] + string(4) + ':' + > ls_place[9] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[10] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'MARET' > ls_asc = ls_place[10] + string(4) + ':' + > ls_place[11] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[12] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'APRIL' > ls_asc = ls_place[12] + string(4) + ':' + > ls_place[13] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[14] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'MEI' > ls_asc = ls_place[14] + string(4) + ':' + > ls_place[15] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[16] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'JUNI' > ls_asc = ls_place[16] + string(4) + ':' + > ls_place[17] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[18] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'JULI' > ls_asc = ls_place[18] + string(4) + ':' + > ls_place[19] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[20] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'AGUSTUS' > ls_asc = ls_place[20] + string(4) + ':' + > ls_place[21] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[22] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = > 'SEPTEMBER' > ls_asc = ls_place[22] + string(4) + ':' + > ls_place[23] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[24] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'OKTOBER' > ls_asc = ls_place[24] + string(4) + ':' + > ls_place[25] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[26] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = > 'NOVEMBER' > ls_asc = ls_place[26] + string(4) + ':' + > ls_place[27] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[28] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = > 'DESEMBER' > ls_asc = ls_place[28] + string(4) + ':' + > ls_place[29] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[30] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'TOTAL' > ls_asc = ls_place[30] + string(4) + ':' + > ls_place[31] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.selection.merge > > ls_asc = ls_place[32] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'IN' > > ls_asc = ls_place[33] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = 'OUT' > > ls_asc = ls_place[1] + string(4) + ':' + > ls_place[33] + string(4) > ole_excel.Range(ls_asc).Select > ole_excel.Selection.Font.Bold = True > ole_excel.Selection.HorizontalAlignment = 3 //Center > > DECLARE CUR_PNL_NO CURSOR FOR > SELECT DISTINCT > > "PCI_ADMIN"."EM_PNL"."PNL_NO", > > "PCI_ADMIN"."EM_PNL"."KPJ_NO", > > "PCI_ADMIN"."EM_PNL"."PNL_NM", > > "PCI_ADMIN"."EM_PNL"."BIRTH_D", > > "PCI_ADMIN"."EM_PNL"."HIRE_D", > > > "PCI_ADMIN"."EM_PNL"."UP_D" > FROM > "PCI_ADMIN"."EM_PNL", > > ( > ( SELECT > "PCI_ADMIN"."EM_MONPAY"."COMP_NO" > "COMPANY_CODE", > > "PCI_ADMIN"."EM_MONPAY"."FACT_NO" > "FACTORY_CODE", > > "PCI_ADMIN"."EM_MONPAY"."PNL_NO" > "EMPLOYEE_ID", > > "PCI_ADMIN"."EM_MONPAY"."CARD_YM" > "PAY_YM", > > > "PCI_ADMIN"."EM_MONPAY"."LABOR" > "PAY_LABOR" > > > FROM > "PCI_ADMIN"."EM_MONPAY" > WHERE > "PCI_ADMIN"."EM_MONPAY"."FACT_NO" > = :gs_factno and > > SUBSTR("PCI_ADMIN"."EM_MONPAY"."CARD_YM",1,4) > = :ls_yy and > > "PCI_ADMIN"."EM_MONPAY"."LABOR" > > 0 > ) > > UNION > ( SELECT > "PCI_ADMIN"."EM_PHK"."COMP_NO" > "COMPANY_CODE", > > "PCI_ADMIN"."EM_PHK"."FACT_NO" > "FACTORY_CODE", > > "PCI_ADMIN"."EM_PHK"."PNL_NO" > "EMPLOYEE_ID", > > SUBSTR("PCI_ADMIN"."EM_PHK"."CARD_YM",1,6) > "PAY_YM", > > > "PCI_ADMIN"."EM_PHK"."LABOR" > "PAY_LABOR" > > > FROM > "PCI_ADMIN"."EM_PHK","PCI_ADMIN"."EM_PNL" > > WHERE > "PCI_ADMIN"."EM_PHK"."COMP_NO" > = > "PCI_ADMIN"."EM_PNL"."COMP_NO" > AND > > "PCI_ADMIN"."EM_PHK"."FACT_NO" > = > "PCI_ADMIN"."EM_PNL"."FACT_NO" > AND > > "PCI_ADMIN"."EM_PHK"."PNL_NO" > = > "PCI_ADMIN"."EM_PNL"."PNL_NO" > AND > > "PCI_ADMIN"."EM_PHK"."FACT_NO" > = :gs_factno and > > SUBSTR("PCI_ADMIN"."EM_PHK"."CARD_YM",1,4) > = :ls_yy and > > "PCI_ADMIN"."EM_PHK"."REMARKS" > = '9' and > > "PCI_ADMIN"."EM_PHK"."LABOR" > > 0 > ) > )X1 > WHERE ( > "PCI_ADMIN"."EM_PNL"."COMP_NO" > = X1.COMPANY_CODE ) and > ( > "PCI_ADMIN"."EM_PNL"."COMP_NO" > = X1.COMPANY_CODE ) and > ( > "PCI_ADMIN"."EM_PNL"."FACT_NO" > = X1.FACTORY_CODE ) and > ( > "PCI_ADMIN"."EM_PNL"."PNL_NO" > = X1.EMPLOYEE_ID ) and > ( > ( :ls_select = > '0' ) > or > ( :ls_select = > '1' and > "PCI_ADMIN"."EM_PNL"."UP_D" > IS NULL ) > or > ( :ls_select = > '2' and > "PCI_ADMIN"."EM_PNL"."UP_D" > IS NOT NULL) > ); > > OPEN CUR_PNL_NO; > FETCH CUR_PNL_NO INTO > :ls_pnl_no,:ls_KPJ_NO,:ls_PNL_NM,:ls_BIRTH_D,:ls_HIRE_D,:ls_UP_D > ; > > i = 5 > li_no = 1 > DO WHILE SQLCA.SQLCode = 0 > ls_asc = ls_place[1] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = li_no > > ls_asc = ls_place[2] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = ls_KPJ_NO > > ls_asc = ls_place[3] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = ls_pnl_no > > ls_asc = ls_place[4] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = ls_PNL_NM > > ls_asc = ls_place[5] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = ls_BIRTH_D > > FOR a =1 TO 12 > ld_jams[a] = 0 > ld_upah[a] = 0 > NEXT > > ld_totaljams = 0 > ld_totalupah = 0 > ex = 6 > FOR a =1 TO 12 > ls_ym = ls_yy + string(a,'00') > SELECT DISTINCT > NVL(X1.PAY_LABOR,0), > NVL(X1.PAY_LABOR * 50,0) > UPAH > INTO > :ld_jams[a], > :ld_upah[a] > FROM > ( > ( SELECT > "PCI_ADMIN"."EM_MONPAY"."COMP_NO" > "COMPANY_CODE", > > > "PCI_ADMIN"."EM_MONPAY"."FACT_NO" > "FACTORY_CODE", > > "PCI_ADMIN"."EM_MONPAY"."PNL_NO" > "EMPLOYEE_ID", > > "PCI_ADMIN"."EM_MONPAY"."CARD_YM" > "PAY_YM", > > > "PCI_ADMIN"."EM_MONPAY"."LABOR" > "PAY_LABOR" > > > FROM > "PCI_ADMIN"."EM_MONPAY" > WHERE > "PCI_ADMIN"."EM_MONPAY"."FACT_NO" > = :gs_factno and > > SUBSTR("PCI_ADMIN"."EM_MONPAY"."CARD_YM",1,6) > = :ls_ym and > > "PCI_ADMIN"."EM_MONPAY"."LABOR" > > 0 ) > > UNION > ( SELECT > "PCI_ADMIN"."EM_PHK"."COMP_NO" > "COMPANY_CODE", > > > "PCI_ADMIN"."EM_PHK"."FACT_NO" > "FACTORY_CODE", > > "PCI_ADMIN"."EM_PHK"."PNL_NO" > "EMPLOYEE_ID", > > SUBSTR("PCI_ADMIN"."EM_PHK"."CARD_YM",1,6) > "PAY_YM", > > > "PCI_ADMIN"."EM_PHK"."LABOR" > "PAY_LABOR" > > > FROM > "PCI_ADMIN"."EM_PHK","PCI_ADMIN"."EM_PNL" > > WHERE > "PCI_ADMIN"."EM_PHK"."COMP_NO" > = > "PCI_ADMIN"."EM_PNL"."COMP_NO" > AND > > > "PCI_ADMIN"."EM_PHK"."FACT_NO" > = > "PCI_ADMIN"."EM_PNL"."FACT_NO" > AND > > "PCI_ADMIN"."EM_PHK"."PNL_NO" > = > "PCI_ADMIN"."EM_PNL"."PNL_NO" > AND > > "PCI_ADMIN"."EM_PHK"."FACT_NO" > = :gs_factno and > > SUBSTR("PCI_ADMIN"."EM_PHK"."CARD_YM",1,6) > = :ls_ym and > > "PCI_ADMIN"."EM_PHK"."REMARKS" > = '9' and > > "PCI_ADMIN"."EM_PHK"."LABOR" > > 0 ) > )X1 > > WHERE > X1.EMPLOYEE_ID = > :ls_pnl_no; > > > ls_asc = ls_place[ex] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = > ld_jams[a] > ld_totaljams = ld_totaljams + > ld_jams[a] > ex++ > > ls_asc = ls_place[ex] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = > ld_upah[a] > ld_totalupah = ld_totalupah + > ld_upah[a] > ex++ > > NEXT > > ls_asc = ls_place[30] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = > ld_totaljams > > ls_asc = ls_place[31] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = > ld_totalupah > > ls_asc = ls_place[32] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = ls_HIRE_D > > ls_asc = ls_place[33] + string(i) > ole_excel.Range(ls_asc).Select > ole_excel.ActiveCell.FormulaR1C1 = ls_UP_D > > > FETCH CUR_PNL_NO INTO > :ls_pnl_no,:ls_KPJ_NO,:ls_PNL_NM,:ls_BIRTH_D,:ls_HIRE_D,:ls_UP_D > ; > i++ > li_no++ > LOOP > > ls_asc = ls_place[6] + string(4) + ':' + > ls_place[31] + string(i - 1) > ole_excel.Range(ls_asc).Select > ole_excel.Selection.NumberFormat = '#,##0' > > ls_asc = ls_place[1] + string(4) + ':' + > ls_place[33] + string(i - 1) > ole_excel.Range(ls_asc).Select > ole_excel.Range(ls_asc).EntireColumn.AutoFit > ole_excel.Selection.Borders(1).LineStyle = 1 > ole_excel.Selection.Borders(2).LineStyle = 1 > ole_excel.Selection.Borders(3).LineStyle = 1 > ole_excel.Selection.Borders(4).LineStyle = 1 > > > CLOSE CUR_PNL_NO; > > > BY > HENDRY > --- On Tue, 7/15/08, b154 474 <[EMAIL PROTECTED]> > wrote: > From: b154 474 <[EMAIL PROTECTED]> > Subject: [indopb] HELP...Ada yang sudah pernah melakukan > export laporan dw ke excel di powerbuilder versi 5?? > To: [email protected] > Date: Tuesday, July 15, 2008, 10:30 PM > > > > > > > > > > > > dear PBers, > > > > saya ada kesulitan untuk mengexport laporan2 aplikasi saya > yg di powerbuilder 5 ke excel dan kebutuhannya adalah hasil > export harus sama persis seperti tampilan report... > > > > saya coba pake dw_xx.saveas( blabla) berhasil tp > tampilannya tidak bagus, kira2 ada yang bisa membantu > memberikan solusi utk kasus ini? > > > > terimakasih, > > Asep P ------------------------------------ ----------------------------------------------- IndoPB - Indonesia PB User Group An Indonesian PowerBuilder User Group's Event 2nd PowerBuilder Update Rumah Sakit Jantung Harapan Kita 26/27 August 2006 To Register : http://groups.yahoo.com/group/indopb/database?method=addRecord&tbl=4Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/indopb/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/indopb/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
