ผู้เขียน หัวข้อ: ถามการเขียนใน Oncreate ครับ  (อ่าน 6912 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ roonarmy

  • Newbie
  • *
  • กระทู้: 24
  • Respect: 0
    • ดูรายละเอียด
ถามการเขียนใน Oncreate ครับ
« เมื่อ: มีนาคม 31, 2011, 05:15:19 AM »
0
ผมต้องการเขียนคำสั่งเลือกวันที่แบบเลือกได้ 4 วันในเดือน ผมต้องเขียนใน Oncreate ว่ายังไง แล้วต้องประกาศตัวแปรยังไง ผมลองใช้ GetDaterangeDiaglog แล้ว Error อ่ะครับ
select o.vstdate,concat(p.pname,p.fname,' ',p.lname) as ptname ,o.vsttime
  from ovst o 
left outer join vn_stat v on v.vn = o.vn 
left outer join patient p on p.hn = o.hn       
where o.vstdate in("2011-01-04","2011-01-12","2011-01-20","2011-01-28")
and o.pt_subtype = 1
order by o.vstdate,o.vsttime
« แก้ไขครั้งสุดท้าย: มีนาคม 31, 2011, 09:19:23 AM โดย roonarmy »
admin@ SOIDAO จันทบุรี
user & admin  ขึ้นระบบ 01/08/53
os: win7 ram 4 gb.

ออฟไลน์ yokyai

  • Hero Member
  • *****
  • กระทู้: 1,462
  • Respect: +9
    • ดูรายละเอียด
Re: ถามการเขียนใน Oncreate ครับ
« ตอบกลับ #1 เมื่อ: มีนาคม 31, 2011, 09:52:15 AM »
0
ไม่เข้าใจเงื่อนไขว่าทำไมต้องเลือก 4 วันในเดือน แล้วจะเลือกทุกเดือนหรือเปล่า
Sakaowrat Choocherd(Administrator) Information Technologist
Bangyai Hospital(30 beds)
HOSxP = 16_May_2008
Master and Slave : DELL-R730 Server Intel Xeon 8Core(2Units)
,Ram64 GB,HDD600(10k)x4,Raid5,CentOS 7.0 64 bit
,MySQL 10.1.10-MariaDB
(3 March 2016) With BMSxTraBackupGUI

ออฟไลน์ chitvichai

  • Full Member
  • ***
  • กระทู้: 103
  • Respect: +5
    • ดูรายละเอียด
    • รพ.เมืองปาน
Re: ถามการเขียนใน Oncreate ครับ
« ตอบกลับ #2 เมื่อ: มีนาคม 31, 2011, 10:30:57 AM »
0
ต้องอาศัย from pascal รับข้อมูลเก็บในตาราง tempreport ก่อนแล้วค่อย query ใน oncreate ดังนึ้ครับ

procedure GlobalOnCreate;
begin
   sql:='select o.vstdate,concat(p.pname,p.fname," ",p.lname) as ptname ,o.vsttime ' +
        ' from ovst o ' +
        ' left outer join vn_stat v on v.vn = o.vn ' +
        ' left outer join patient p on p.hn = o.hn ' +
        ' where o.vstdate in(select date1 from tempreport where reportname="test4date" and id="11157") '+
        ' and o.pt_subtype = "'+GetUserParameter(0)+'" ' +
        ' order by o.vstdate,o.vsttime ';
     ChangeReportSQL(sql);
end;
« แก้ไขครั้งสุดท้าย: มีนาคม 31, 2011, 10:42:27 AM โดย chitvichai »
โรงพยาบาลเมืองปาน (ขนาด 30 เตียง) จังหวัดลำปาง โทร 054-276345-6
Master Server : HP Proliant DL360G7 Ram DDR3 1333 ECC 2x2 GB  HDD 2x146 GB  CentOS 6.2 Linux MySQL 5.5.11
Slave Server I : Acer Altos G540 Ram DDR2 667 ECC 2x1 GB HDD 2x146 GB Redhat Ent 5.2 Linux Mysql 5.1.29
Slave Server II : คอมประกอบ Ram DDR2 667  2x2 GB HDD SATA 160 GB Endian Firewall Community release 2.4.1 Mysql 5.5.24
Client : Windows XP Sp2
ขึ้นระบบ 1 มิ.ย.50

ออฟไลน์ Svl2Nuk3

  • Hero Member
  • *****
  • กระทู้: 793
  • Respect: 0
    • ดูรายละเอียด
Re: ถามการเขียนใน Oncreate ครับ
« ตอบกลับ #3 เมื่อ: มีนาคม 31, 2011, 11:34:18 AM »
0
ถ้าจะ  Fix  ไว้ที่  4  วันก็เขียนแบบกำปั้นทุบดินไปเลยครับ    ;D

procedure GlobalOnCreate;
var date1,date2,date3,date4:TDateTime ;
    str_date:String;
begin
     Showmessage('àÅ×Í¡Çѹ·Õè¤ÃÑ駷Õè  1  áÅР 2');
     GetDateRangeDialog(date1, date2);
     Showmessage('àÅ×Í¡Çѹ·Õè¤ÃÑ駷Õè  3  áÅР 4');
     GetDateRangeDialog(date3, date4);

     str_date := '"'+FormatDateTime('yyyy-mm-dd',date1) +'","'+ FormatDateTime('yyyy-mm-dd',date2)+'","'+FormatDateTime('yyyy-mm-dd',date3)+'","'+FormatDateTime('yyyy-mm-dd',date4)+'"';
     Showmessage(str_date);
         ChangeReportSQL(
' select o.vstdate,concat(p.pname,p.fname,"  ",p.lname) as ptname ,o.vsttime '+
'  from ovst o  '+
' left outer join vn_stat v on v.vn = o.vn  '+
' left outer join patient p on p.hn = o.hn   '+
' where o.vstdate in('+str_date+') '+
' and o.pt_subtype = 1 '+
' order by o.vstdate,o.vsttime '
   );

end;


แต่ถ้าไม่ Fix ไว้ที่  4  วันก็แก้อีกนิด  ใส่ Loop while  ครอบ  หาเงื่อนไขในการหยุด  แล้วในแต่ละรอบก็เอา String ไปต่อครับ



I'm nuke (นุ๊ก)
My Blog  : http://www.codenuke.net
อดีต นวก.คอมฯ รพช.พรหมพิราม => 1 พ.ค. 52 - 30 ก.ย. 54
ปัจจุบัน : Software Engineer บริษัทแห่งหนึ่ง

ออฟไลน์ roonarmy

  • Newbie
  • *
  • กระทู้: 24
  • Respect: 0
    • ดูรายละเอียด
Re: ถามการเขียนใน Oncreate ครับ
« ตอบกลับ #4 เมื่อ: มีนาคม 31, 2011, 13:43:48 PM »
0
Ok ขอบคุณทุกท่านขอรับ ;D อันเนื่องมาจากคนที่ต้องการรายงานเขาต้องการระบุวันที่ต้องการตรวจสอบข้อมูลในเดือนนั้นๆมาน่ะครับ เป็นรายงานของกพร
admin@ SOIDAO จันทบุรี
user & admin  ขึ้นระบบ 01/08/53
os: win7 ram 4 gb.