ใครพอจะมี code foxpro ที่ส่งรายงานเข้าฟอร์มรายงานใน Excel

ใครพอจะมี code foxpro ที่ส่งรายงานเข้าฟอร์มรายงานใน Excel

โพสต์โดย manat2519 เมื่อ พุธ เม.ย. 01, 2009 9:59 am

พอที่เป็นแนวทางในการเขียนโปรแกรม

ลักษณะเหมือนกับรายงาน การส่งต่อของ หมอมิตร
manat2519
 
โพสต์: 43
ลงทะเบียนเมื่อ: พฤหัสฯ. พ.ย. 13, 2008 9:52 pm

...

โพสต์โดย sutthipongr เมื่อ พุธ เม.ย. 01, 2009 2:27 pm

ปัจจุบัน ถ้ารายงานไหนอะไร หาอะไรไม่ได้ผมใช้ sql ครับ มันง่ายมากเพราะไม่ต้องมีความรู้เรื่อง โปรแกรมอะไรมากก็ใช้ได้ และ sql ก็เป็นภาษามาตรฐาน ใช้เขียน web ก้ได้ จึงน่าใช้ครับ
vfp9 support ภาษา sql อยู่แล้วครับ
set date british
set century on
use g:\hospital\data\pt shared in 1
use g:\hospital\data\ovst shared in 2
use g:\hospital\data\drugused shared in 3

select ...;
from ovst,drugused;
where ovst.hn=drugused.hn and ovst.vstdate=drugused.vstdate and ovst.times=drugused.times;
into cursor xxx
COPY TO c:\temp\temp.xls TYPE xls &&ส่งออกไป excel ครับ

****
ข้อดีคือง่าย และ ไม่รบกวนระบบมาก ข้อเสียคือ ช้าครับ เพราะ ไม่ใด้ใช้ index ในการทำงานถ้าจะใช้ index ต้อง เขียน query ให้สอดคล้องด้วยครับ
****
ของหมอสุมิตร ท่านใช้วิชาการวนลูบชั้นเทพ ครับ
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

โพสต์โดย manat2519 เมื่อ พฤหัสฯ. เม.ย. 02, 2009 8:48 am

ขอบคุณครับ พอดีศึกษาดูล่ะ เผื่อใครจะได้นำไปใช้

-------------------------------
LOCAL oExcel,oWorkBook,lcExportFile,lcItemNo as integer,i as integer
*Define Excel filename
lcExportFile="C:\StockSummary.XLS"

*Open Excel
oExcel = CREATEOBJECT("Excel.Application")
oWorkBook=oExcel.Workbooks.Open(lcExportFile)
*-----HEAD sheet
oExcel.Sheets("Sheet1").Select
oExcel.ActiveSheet.Range("H1").value ="·ÐàºÕ¹Ê觵èͼÙé»èÇÂ"
oExcel.ActiveSheet.Range("H2").value = " ¾.È. 2552 "
oExcel.ActiveSheet.Range("H3").value = "âç¾ÂÒºÒÅ´Í¡¤Óãµé ¨Ñ§ËÇÑ´¾ÐàÂÒ "
* Head column
oExcel.ActiveSheet.Range("A4").value ="ÅӴѺ"
oExcel.ActiveSheet.Range("B4").value ="ª×èͼÙé»èÇÂ"
oExcel.ActiveSheet.Range("C4").value ="HN"
oExcel.ActiveSheet.Range("D4").value ="à¾È"
oExcel.ActiveSheet.Range("E4").value ="ÍÒÂØ"
oExcel.ActiveSheet.Range("F4").value ="ÀÙÁÔÅÓà¹Ò"
oExcel.ActiveSheet.Range("F5").value ="ÍÓàÀÍ"
oExcel.ActiveSheet.Range("G5").value ="¨Ñ§ËÇÑ´"
oExcel.ActiveSheet.Range("H4").value ="ÃѺ¼Ùé»èǤÃÑé§áá"
oExcel.ActiveSheet.Range("H5").value ="Çѹ·Õè"
oExcel.ActiveSheet.Range("I5").value ="àÇÅÒ"
oExcel.ActiveSheet.Range("J4").value ="ÇѹÊ觵èͼÙé»èÇÂ"
oExcel.ActiveSheet.Range("J5").value ="Çѹ·Õè"
oExcel.ActiveSheet.Range("K5").value ="àÇÅÒ"
oExcel.ActiveSheet.Range("L4").value ="âä/ÀÒÇÐà¨çº»èÇÂ"
oExcel.ActiveSheet.Range("M5").value ="ʶÒÇмÙé»èÇÂ"
oExcel.ActiveSheet.Range("N4").value ="¡ÒûÃÐÊÒ¹Ê觵èͼÙé»èÇÂ"
oExcel.ActiveSheet.Range("N5").value ="þ.·ÕèÃѺ¼Ùé»èÇÂ"
oExcel.ActiveSheet.Range("O5").value ="Çѹ·ÕèÃѺ¼Ùé»èÇÂ"
oExcel.ActiveSheet.Range("P5").value ="ÃÐÂÐàÇÅÒ»ÃÐÊÒ¹"
oExcel.ActiveSheet.Range("Q4").value ="¡Òö١»¯ÔàʸÃѺ¼Ùé»èÇÂ"
oExcel.ActiveSheet.Range("Q5").value ="¨Ó¹Ç¹·Õ軯Ôàʸ"
oExcel.ActiveSheet.Range("R5").value ="ÃÒ·Õè¢Í»¯Ôàʸ"
oExcel.ActiveSheet.Range("S5").value ="à˵¼Å¡Ã³Õ·ÕèäÁèÃѺ"
oExcel.ActiveSheet.Range("T4").value ="¡ÒÃá¨é§¼ÅáÅÐÊ觼Ùé»èÇ¡ÅѺ"
oExcel.ActiveSheet.Range("T5").value ="ÇѹÃѺá¨é§¼Å¡ÅѺ"
oExcel.ActiveSheet.Range("U5").value ="ÇѹÃѺ¼Ùé»èÇ¡ÅѺ"
oExcel.ActiveSheet.Range("V5").value ="ËÁÒÂà˵Ø"

*?????????????? ?????????? ???????????????????????????????????

*----Detail loop
SELECT refer
GO TOP
lcItemNo = 0 && Start item no.
DO WHILE !EOF()
lcItemNo = lcItemNo + 1
i = LTRIM(STR(lcItemNo+5)) && start at row number 4
WAIT WINDOW NOWAIT 'Export item no.='+TRANSFORM(lcItemNo,'9,999')+'..Please wait!'
oExcel.ActiveSheet.Range("A&i").value= lcItemNo &&item no
oExcel.ActiveSheet.Range("B&i").value= ALLTRIM(refer.name)
oExcel.ActiveSheet.Range("C&i").value= refer.hn
oExcel.ActiveSheet.Range("D&i").value= refer.sex
oExcel.ActiveSheet.Range("E&i").value = refer.age
oExcel.ActiveSheet.Range("F&i").value = refer.ampur
oExcel.ActiveSheet.Range("G&i").value = refer.chw
oExcel.ActiveSheet.Range("H&i").value = refer.acceptdate
oExcel.ActiveSheet.Range("I&i").value = refer.accepttime
oExcel.ActiveSheet.Range("J&i").value = refer.refdate
oExcel.ActiveSheet.Range("K&i").value = refer.reftime
oExcel.ActiveSheet.Range("L&i").value = refer.diag
oExcel.ActiveSheet.Range("M&i").value = IIF(refer.statehad='1','Çԡĵ','·ÑèÇä»')
oExcel.ActiveSheet.Range("N&i").value = refer.hospaccept
oExcel.ActiveSheet.Range("O&i").value = refer.dateaccept
oExcel.ActiveSheet.Range("P&i").value = refer.timeaccept
oExcel.ActiveSheet.Range("Q&i").value = refer.countcon
oExcel.ActiveSheet.Range("R&i").value = refer.countnot
oExcel.ActiveSheet.Range("S&i").value = refer.comment
* oExcel.ActiveSheet.Range("T&i").value = refer.dateback
* oExcel.ActiveSheet.Range("U&i").value = refer.dateptback
oExcel.ActiveSheet.Range("V&i").value = refer.comment2
SELECT refer
SKIP
ENDDO
*close workbook
oWorkbook.Save() &&save
oWorkBook.Close()
oExcel.Quit()
RELEASE oExcel,oWorkBook
manat2519
 
โพสต์: 43
ลงทะเบียนเมื่อ: พฤหัสฯ. พ.ย. 13, 2008 9:52 pm

...

โพสต์โดย sutthipongr เมื่อ พฤหัสฯ. เม.ย. 02, 2009 3:57 pm

รบกวน post ใหม่ครับ ใส่ใว้ใน tag code จะไม่เพี้ยนครับ
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

โพสต์โดย manat2519 เมื่อ ศุกร์ เม.ย. 03, 2009 9:53 am

คงเป็นแนวทางนะครับ

โค้ด: เลือกทั้งหมด
LOCAL oExcel,oWorkBook,lcExportFile,lcItemNo  as integer,i as integer
*Define Excel filename
lcExportFile="C:\ไฟล์.XLS"

*Open Excel
oExcel = CREATEOBJECT("Excel.Application")
oWorkBook=oExcel.Workbooks.Open(lcExportFile)
*-----HEAD sheet
oExcel.Sheets("Sheet1").Select
oExcel.ActiveSheet.Range("H1").value   ="·ชื่อหัวข้อ"
oExcel.ActiveSheet.Range("H2").value  =  "»ชื่อหัวข้อ. ***พอดีไม่ได้ Copy มาหมดนะครับ  2552  "

*?????????????? ?????????? ???????????????????????????????????

*----Detail loop
SELECT refer
GO TOP
lcItemNo = 0 && Start item no.
DO WHILE !EOF()
lcItemNo = lcItemNo + 1
i = LTRIM(STR(lcItemNo+5))  && start at row number 4
WAIT WINDOW NOWAIT 'Export item no.='+TRANSFORM(lcItemNo,'9,999')+'..Please wait!'
oExcel.ActiveSheet.Range("A&i").value= lcItemNo  &&item no
oExcel.ActiveSheet.Range("B&i").value= ALLTRIM(refer.name)
oExcel.ActiveSheet.Range("C&i").value= refer.hn
oExcel.ActiveSheet.Range("D&i").value= refer.sex
oExcel.ActiveSheet.Range("E&i").value = refer.age
oExcel.ActiveSheet.Range("F&i").value = refer.ampur
  oExcel.ActiveSheet.Range("G&i").value = refer.chw
   oExcel.ActiveSheet.Range("H&i").value = refer.acceptdate
    oExcel.ActiveSheet.Range("I&i").value = refer.accepttime
     oExcel.ActiveSheet.Range("J&i").value = refer.refdate
      oExcel.ActiveSheet.Range("K&i").value = refer.reftime
       oExcel.ActiveSheet.Range("L&i").value = refer.diag
        oExcel.ActiveSheet.Range("M&i").value = IIF(refer.statehad='1','Çԡĵ','·ÑèÇä»')
         oExcel.ActiveSheet.Range("N&i").value = refer.hospaccept
         oExcel.ActiveSheet.Range("O&i").value = refer.dateaccept
            oExcel.ActiveSheet.Range("P&i").value = refer.timeaccept
               oExcel.ActiveSheet.Range("Q&i").value = refer.countcon
                  oExcel.ActiveSheet.Range("R&i").value = refer.countnot
                     oExcel.ActiveSheet.Range("S&i").value = refer.comment
*                        oExcel.ActiveSheet.Range("T&i").value = refer.dateback
               *            oExcel.ActiveSheet.Range("U&i").value = refer.dateptback
               oExcel.ActiveSheet.Range("V&i").value = refer.comment2
SELECT refer
SKIP
ENDDO
*close workbook
oWorkbook.Save()  &&save
oWorkBook.Close()
oExcel.Quit()
RELEASE  oExcel,oWorkBook
[/quote]
manat2519
 
โพสต์: 43
ลงทะเบียนเมื่อ: พฤหัสฯ. พ.ย. 13, 2008 9:52 pm


ย้อนกลับไปยัง ถาม-ตอบ ปัญหาต่างๆ เกี่ยวกับโปรแกรม MIT-NET

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 102 ท่าน