ผู้เขียน หัวข้อ: ผมทำวันจำหน่ายผู้ป่วยในเป็น Variable เพื่อให้แสดงวันจำหน่ายเป็นปี พ.ศ. ดังนี้  (อ่าน 4261 ครั้ง)

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

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
ผมทำวันจำหน่ายผู้ป่วยในเป็น Variable เพื่อให้แสดงวันจำหน่ายเป็นปี พ.ศ. ดังนี้
Value := FormatThaiDate('d mmmm yyyy',DBPipeline['date2']);

แต่มีปัญหาว่าถ้าพิมพ์รายงานดังกล่าว แล้ววันจำหน่ายคนไข้ เป็นค่าว่าง มันจะแสดงวันจำหน่ายเป็น 30 ธันวาคม 2542 จะแก้ไขอย่างไรครับ    ;D
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,128
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
ลองแบบนี้ครับ

โค๊ด: Delphi
  1. If [date2]=''
  2. then Value:=''
  3. else
  4. Value := FormatThaiDate('d mmmm yyyy',DBPipeline['date2']);
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
ลองแบบนี้ครับ

โค๊ด: Delphi
  1. If [date2]=''
  2. then Value:=''
  3. else
  4. Value := FormatThaiDate('d mmmm yyyy',DBPipeline['date2']);
ขอบคุณครับ
ตอนแรกทำแบบนี้ครับ
 if DBPipeline['date2']="" then
    begin
      Value := 'ยังไม่จำหน่ายออก';
    end
 else
    begin
      Value := FormatThaiDate('d mmmm yyyy',DBPipeline['date2']);
    end;
แต่ไม่ Work ไม่ทราบว่ามันผิดตรงไหนครับ  ;D
« แก้ไขครั้งสุดท้าย: มิถุนายน 25, 2014, 11:58:30 AM โดย panus_t »
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ Terminator2015

  • Hero Member
  • *****
  • กระทู้: 3,352
  • Achilles : ประวัติศาสตร์จารึกชื่อกษัตริย์ มิได้จารึกชื่อทหาร
  • Respect: +66
    • ดูรายละเอียด
    • โรงพยาบาลนาเชือก
 ;) ระบบแสดงรูปแบบวันที่ครับ จึงแสดงเป็นข้อความไม่ได้ครับ ปรับเป็นค่าว่าง ตาม อ.ป๊อบ ดีกว่าครับ
นายคณวัชร คำชัย(ทัศ) โรงพยาบาลนาเชือก จ.มหาสารคาม
Mail : nachuak@hotmail.co.th  Tel.  (AIS)0817080646
โรงพยาบาลชุมชน ขนาด 30 เตียง (Paperless OPD)
ดุแล สอ.12 แห่ง HOSxP_PCU 3.59.12.15 NewVersion
ขึ้นระบบเมื่อ 1 ต.ค. 2549

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
;) ระบบแสดงรูปแบบวันที่ครับ จึงแสดงเป็นข้อความไม่ได้ครับ ปรับเป็นค่าว่าง ตาม อ.ป๊อบ ดีกว่าครับ

"ยังไม่จำหน่ายออก" คำนี้แสดงออกในรายงานอยู่ครับ
แต่ Error ที่ Post เป็น Error จากคำสังของคุณ pop_hosxp ครับ
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
ถ้าใช้คำสั่ง
 if DBPipeline['date2'] is null then
    begin
      Value := '';
    end
 else
    begin
      Value := FormatThaiDate('d mmmm yyyy',DBPipeline['date2']);
    end;

จะเข้าเงื่อนไขที่ 2 ครับ
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,349
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17

ตอนแรกทำแบบนี้ครับ
 if DBPipeline['date2']="" then
    begin
      Value := 'ยังไม่จำหน่ายออก';
    end
 else
    begin
      Value := FormatThaiDate('d mmmm yyyy',DBPipeline['date2']);
    end;
แต่ไม่ Work ไม่ทราบว่ามันผิดตรงไหนครับ  ;D


ใช้ "" ไม่ได้ครับ ต้องเป็น '' (single quote 2 ตัว ติดกัน)

===============================================
แนะนำว่าไม่ต้องใช้ begin/end กรณีมี 1 expression ครับ
เช่น
if DBPipeline['date2']='' then
   Value := 'ยังไม่จำหน่ายออก'
 else
   Value := FormatThaiDate('d mmmm yyyy',DBPipeline['date2']);

แค่นี้พอ สังเกต นิพจน์ (expression) หลัง then จะไม่มี ; ปิดท้ายบรรทัดนะครับ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,349
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
ลองศึกษาจากตัวอย่างนี้ครับ
CUSTOM-TestDateFormat_UDC
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ khaimok

  • Full Member
  • ***
  • กระทู้: 119
  • Respect: 0
    • ดูรายละเอียด
    • http://www.samuihospital.go.th
ผมทำวันจำหน่ายผู้ป่วยในเป็น Variable เพื่อให้แสดงวันจำหน่ายเป็นปี พ.ศ. ดังนี้
Value := FormatThaiDate('d mmmm yyyy',DBPipeline['date2']);

แต่มีปัญหาว่าถ้าพิมพ์รายงานดังกล่าว แล้ววันจำหน่ายคนไข้ เป็นค่าว่าง มันจะแสดงวันจำหน่ายเป็น 30 ธันวาคม 2542 จะแก้ไขอย่างไรครับ    ;D
ลอง แบบนี้ดูครับ
Value := FormatThaiDate('d mmmm',DBPipeline['date2'])+' '+FormatThaiDate('yyyy',DBPipeline['date2']);
นายสุวิทย์ อภิวัฒน์วราวงศ์
นักวิชาการสาธารณสุข (วสส.ยะลา วท.บ.รุ่นที่4 )
ฝ่ายสารสนเทศ โรงพยาบาลสิงหนคร
*******************************************
อดีต ฝ่ายสารสนเทศ โรงพยาบาลเกาะสมุย
ขึ้นระบบโดยทีม BMS นำทีมโดย พี่โอ๊ด พี่ซุ้น และน้องๆ BMS
(เล็ก,มนต์,พัฒน์,ต้น,เบิร์ด,กร)
*******************************************
Master: IBM x3650 m4 Ram 250 G 3.0x24 core SAS 4 HDD (SAS 300x3 Raid 5 + Global Hot Plug Spare 1 HDD)
Slave :  IBM x3650 m4 Ram 250 G 3.0x24 core SAS 4 HDD (SAS 300x3 Raid 5 + Global Hot Plug Spare 1 HDD) 
CentOS 6.3 x 64 ; Mysql 5.1.4 Percona M/S
Image Server : HP 150 G6 ram 12G HDD 3 Tb (ระบบแยกจาก HOSxP ; แสดงผลผ่าน web server )