ผู้เขียน หัวข้อ: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ  (อ่าน 11363 ครั้ง)

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

ออฟไลน์ Red'A'rmY

  • Newbie
  • *
  • กระทู้: 43
  • Respect: 0
    • ดูรายละเอียด
พอดีหัดเขียนรายงานครับมือใหม่
« แก้ไขครั้งสุดท้าย: พฤษภาคม 31, 2011, 23:04:41 PM โดย jkrclaim »
โรงพยาบาลจักราช
เริ่มขึ้นระบบ 29 มีนาคม 2554
ขึ้นระบบโดยทีม BMS ใช้งานทุกระบบ

"ความฝัน ถ้ายังไม่สามารถทำให้เป็นความจริงได้ ก็คือความฝันวันยังค่ำ"

ออฟไลน์ nuttavut

  • Hero Member
  • *****
  • กระทู้: 2,634
  • Boom-Beam
  • Respect: +15
    • ดูรายละเอียด
    • โรงพยาบาลวิเชียรบุรี
พอดีหัดเขียนรายงานครับมือใหม่

Capture หน้าตารายงานให้ดูหน่อยก็จะดีนะครับ จะได้ไม่ต้องนำเข้ารายงาน ฝากด้วยครับ ;D ;D ;D
..Wichianburi Hospital  Phetchabun ..
Mr.Nuttavut   System Admin,Programer
Master:: HP DL380 G7 RAM 24GB Raid5 CentOS5.2  Percona 5.1.45
Slave::HP ProLiant ML150G3 Xeon Raid1  CentOS5.2   ,Percona 5.1.45
HOSxP 3.55.7.14, LIS (iLab),PACS
Tel. 0-5692-8169 ต่อ 180  | รพ. ขนาด 150+ เตียง |17 สอ. HOSxP_PCU |BMS Datacenter 18 node |
WWW : http://wichianhos.thaieasydns.com
|..ดูแลห่วงใย ใส่ใจบริการ รักษาได้มาตรฐาน พัฒนางานสู่ความเป็นเลิศ ..|   PDS Project  |  การนำเข้า Script คลิก

ออฟไลน์ Red'A'rmY

  • Newbie
  • *
  • กระทู้: 43
  • Respect: 0
    • ดูรายละเอียด
ผู้รู้ช่วยบอกโค้ดคำสั่งหน่อยครับ พอดีมือใหม่ลองผิดลองถูกอ่ะครับ
โรงพยาบาลจักราช
เริ่มขึ้นระบบ 29 มีนาคม 2554
ขึ้นระบบโดยทีม BMS ใช้งานทุกระบบ

"ความฝัน ถ้ายังไม่สามารถทำให้เป็นความจริงได้ ก็คือความฝันวันยังค่ำ"

ออฟไลน์ pop_hosxp

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

โรคจิต F20-F25,F28-F29

var
date1, date2:tdatetime;
ds1, ds2:string;

GetDateRangeDialog(date1,date2);
ds1:=formatdatetime('yyyy-mm-dd',date1);
ds2:=formatdatetime('yyyy-mm-dd',date2);

วาง variable ลงไปตัวหนึ่งตรงจำนวนที่ต้องการหา แล้วใช้คำสั่งนี้

value:=GetSQLIntegerData('select count(vn) from vn_stat where vstdate between "'+ds1+'" and "'+ds2+'" where (pdx between "F20" and "F25" or pdx between "F28" and "F29" ');

แล้วทำแบบนี้กับตัวอื่น ๆ ครับ
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ Red'A'rmY

  • Newbie
  • *
  • กระทู้: 43
  • Respect: 0
    • ดูรายละเอียด
ลองแล้วครับ ค่าที่ออกมาเป็น 0 ครับ
โรงพยาบาลจักราช
เริ่มขึ้นระบบ 29 มีนาคม 2554
ขึ้นระบบโดยทีม BMS ใช้งานทุกระบบ

"ความฝัน ถ้ายังไม่สามารถทำให้เป็นความจริงได้ ก็คือความฝันวันยังค่ำ"

ออฟไลน์ Red'A'rmY

  • Newbie
  • *
  • กระทู้: 43
  • Respect: 0
    • ดูรายละเอียด
ผมใช้คำสั่งนี้ครับ ช่วยอาจารย์ดูที่ครับว่าใช้ได้ไหม
var
date1,date2 : datetime;
ds1,ds2,gl1: string;



if gl1='OPD' then
      begin
      Value := GetSQLIntegerData('select count(vn) as c_an from vn_stat'+
        ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
        '  and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');
      end else
      if gl1='IPD' then
         Value := GetSQLIntegerData('select count(an) as c_an from an_stat'+
        ' where regdate between "'+ds1+'" and "'+ds2+'"'+
        ' and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');
        end;
   

ลองคำสั่งนี้แล้ว ค่าที่ได้กลับเป็นศูนย์ ไม่รู้จะแก้ยังไงกำลังรอผู้รู้อยู่ครับ
« แก้ไขครั้งสุดท้าย: มิถุนายน 03, 2011, 12:37:31 PM โดย jkrclaim »
โรงพยาบาลจักราช
เริ่มขึ้นระบบ 29 มีนาคม 2554
ขึ้นระบบโดยทีม BMS ใช้งานทุกระบบ

"ความฝัน ถ้ายังไม่สามารถทำให้เป็นความจริงได้ ก็คือความฝันวันยังค่ำ"

ออฟไลน์ kwh

  • Sr. Member
  • ****
  • กระทู้: 290
  • Respect: -1
    • ดูรายละเอียด
    • โรงพยาบาลเขาวง อำเภอเขาวง จังหวัดกาฬสินธุ์
ผมว่าน่าจะเพิ่ม

between like "F20%" and like "F25%"

จะครบกว่านะครับ

เพิ่มเติมนิดเดียว  ;D
โรงพยาบาลเขาวง จ.กาฬสินธุ์ ขนาด 60 เตียง ขึ้น เมื่อ 6 มิถุนายน 2548

IBM 3650 M3  2CPU 2.4GHz Ram 16 GB HD 72.G x 2 Cent os 6.2 64bit MYSQL pacona 5.5.28

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด

ผมใช้คำสั่งนี้ครับ ช่วยอาจารย์ดูที่ครับว่าใช้ได้ไหม

... น่าจะเป็น ...

 if gl1='OPD' then
      Value := GetSQLIntegerData('select count(vn) as c_an from vn_stat'+
        ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
        '  and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');

if gl1='IPD' then
         Value := GetSQLIntegerData('select count(an) as c_an from an_stat'+
        ' where regdate between "'+ds1+'" and "'+ds2+'"'+
        ' and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');

... หรือ  ...

if gl1='OPD' then
      Value := GetSQLIntegerData('select count(vn) as c_an from vn_stat'+
        ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
        '  and (pdx between "F20" and "F25" or pdx between "F28" and "F29"')
else
         Value := GetSQLIntegerData('select count(an) as c_an from an_stat'+
        ' where regdate between "'+ds1+'" and "'+ds2+'"'+
        ' and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ Red'A'rmY

  • Newbie
  • *
  • กระทู้: 43
  • Respect: 0
    • ดูรายละเอียด
งงกำคำสั่งอ่ะครับ น่าจะลืมเขียนคำสัง่ like"F20%" ให้นะครับ
โรงพยาบาลจักราช
เริ่มขึ้นระบบ 29 มีนาคม 2554
ขึ้นระบบโดยทีม BMS ใช้งานทุกระบบ

"ความฝัน ถ้ายังไม่สามารถทำให้เป็นความจริงได้ ก็คือความฝันวันยังค่ำ"

ออฟไลน์ Red'A'rmY

  • Newbie
  • *
  • กระทู้: 43
  • Respect: 0
    • ดูรายละเอียด

ผมใช้คำสั่งนี้ครับ ช่วยอาจารย์ดูที่ครับว่าใช้ได้ไหม

... น่าจะเป็น ...

 if gl1='OPD' then
      Value := GetSQLIntegerData('select count(vn) as c_an from vn_stat'+
        ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
        '  and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');

if gl1='IPD' then
         Value := GetSQLIntegerData('select count(an) as c_an from an_stat'+
        ' where regdate between "'+ds1+'" and "'+ds2+'"'+
        ' and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');

... หรือ  ...

if gl1='OPD' then
      Value := GetSQLIntegerData('select count(vn) as c_an from vn_stat'+
        ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
        '  and (pdx between "F20" and "F25" or pdx between "F28" and "F29"')
else
         Value := GetSQLIntegerData('select count(an) as c_an from an_stat'+
        ' where regdate between "'+ds1+'" and "'+ds2+'"'+
        ' and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');

คำสั่ง like"F20%" น่าจะหายไปนะครับ
โรงพยาบาลจักราช
เริ่มขึ้นระบบ 29 มีนาคม 2554
ขึ้นระบบโดยทีม BMS ใช้งานทุกระบบ

"ความฝัน ถ้ายังไม่สามารถทำให้เป็นความจริงได้ ก็คือความฝันวันยังค่ำ"

ออฟไลน์ golf_win

  • Hero Member
  • *****
  • กระทู้: 3,481
  • Respect: +112
    • ดูรายละเอียด

ผมใช้คำสั่งนี้ครับ ช่วยอาจารย์ดูที่ครับว่าใช้ได้ไหม

... น่าจะเป็น ...

 if gl1='OPD' then
      Value := GetSQLIntegerData('select count(vn) as c_an from vn_stat'+
        ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
        '  and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');

if gl1='IPD' then
         Value := GetSQLIntegerData('select count(an) as c_an from an_stat'+
        ' where regdate between "'+ds1+'" and "'+ds2+'"'+
        ' and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');

... หรือ  ...

if gl1='OPD' then
      Value := GetSQLIntegerData('select count(vn) as c_an from vn_stat'+
        ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
        '  and (pdx between "F20" and "F25" or pdx between "F28" and "F29"')
else
         Value := GetSQLIntegerData('select count(an) as c_an from an_stat'+
        ' where regdate between "'+ds1+'" and "'+ds2+'"'+
        ' and (pdx between "F20" and "F25" or pdx between "F28" and "F29"');

คำสั่ง like"F20%" น่าจะหายไปนะครับ
ไม่หายครับ ลอง run คำสั่งหรือยังครับ
โรงพยาบาลเจ็ดเสมียน จังหวัดราชบุรี
Start 19-1-51    35 station
HOSxP  3.59.5.18 Activate License
Tel. 032-305096-7 ต่อ 118
Web. http://csmhos.thaiddns.com:8080
         http://csmhos.thaieasydns.com:8080

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,128
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
... น่าจะเป็น ...

 if gl1='OPD' then
      Value := GetSQLIntegerData('select count(vn) as c_an from vn_stat'+
        ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
        '  and (pdx between "F20" and "F25" or pdx between "F28" and "F29")');

if gl1='IPD' then
         Value := GetSQLIntegerData('select count(an) as c_an from an_stat'+
        ' where regdate between "'+ds1+'" and "'+ds2+'"'+
        ' and (pdx between "F20" and "F25" or pdx between "F28" and "F29")');

... หรือ  ...

if gl1='OPD' then
      Value := GetSQLIntegerData('select count(vn) as c_an from vn_stat'+
        ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
        '  and (pdx between "F20" and "F25" or pdx between "F28" and "F29")')
else
         Value := GetSQLIntegerData('select count(an) as c_an from an_stat'+
        ' where regdate between "'+ds1+'" and "'+ds2+'"'+
        ' and (pdx between "F20" and "F25" or pdx between "F28" and "F29")');
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
... น่าจะเป็น ...

... ตาม อ.ป๊อบ เลยครับ
   
    copy มาวางลืมดูให้ละเอียดครับ ว่า  ) หายไป 1 ตัว ...  ;D  ;D ....
 
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ adisaksri

  • Sr. Member
  • ****
  • กระทู้: 354
  • sikaohospital
  • Respect: -1
    • ดูรายละเอียด
... น่าจะเป็น ...

... ตาม อ.ป๊อบ เลยครับ
   
    copy มาวางลืมดูให้ละเอียดครับ ว่า  ) หายไป 1 ตัว ...  ;D  ;D ....
 
คนมันอายุเยอะแล้วก็เป็นอย่างนี้แหละ ;D ;D ;D ;D
รพ.สิเกา จ.ตรัง adisaksri@hotmail.com
Master IBM CentOS6.3 mysql 5.5.28  Ram 10G Slave IBM CentOS5.5 ram4G(ขอบคุณอ.บอย,อ.ขวด)
BMS Activate Package วันเริ่มรับประกัน : 26/11/2555
วันหมดประกัน : 25/11/2556

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
คนมันอายุเยอะแล้วก็เป็นอย่างนี้แหละ ;D ;D ;D ;D

... อิ อิ อิ  แต่ว่าพี่น่ะ ก้ออายุเยอะกว่าผมติดนึงนาคร้าบบบบบบ 55555++ ...  ;D  ;D ....
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ Jittaya

  • Jr. Member
  • **
  • กระทู้: 52
  • Respect: 0
    • ดูรายละเอียด
แล้วทำไมไม่ใช้ PDX between "F20" and "F29" ไปเลยละนี่ เพราะ F26- F27 มันไม่มีใน ICD10 นะค่ะ
.~.JitTaYa .~. MRS’26               
ThaChang  Hospital  Suratthani
E-mail:jitmrs26@gmail.com

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด

... อีกอย่างตรง

   and (pdx between "F20" and "F25"

   แบบนี้  จะไม่รวมพวก  F250  F251 F252  ประมาณนี้ เข้าไปด้วยครับ ....


... ถ้าต้องการ F25 ทุกตัว ต้องเขียนเป็น
   
    and (pdx between "F20" and "F2599"  ครับ ...  :D ...

โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
 ;D ;D ;D  อีกวิธีครับ  and (substring(pdx,1,3) between "F20" and "F25")

 

ออฟไลน์ pop_hosxp

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

... อีกอย่างตรง

   and (pdx between "F20" and "F25"

   แบบนี้  จะไม่รวมพวก  F250  F251 F252  ประมาณนี้ เข้าไปด้วยครับ ....


... ถ้าต้องการ F25 ทุกตัว ต้องเขียนเป็น
   
    and (pdx between "F20" and "F2599"  ครับ ...  :D ...



รวมอยู่นะครับอ.ขวด
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
รวมอยู่นะครับอ.ขวด

... หมายถึงว่า ถ้าต้องการ F25 ทุกตัว เช่นพวก F250  F251 F252 ประมาณนี้ครับ อ.ป๊อบ


    ถ้าใช้แค่  and (pdx between "F20" and "F25" มันก็จะไปหยุดอยู่แค่ F25 

    จะไม่รวมพวก F25x  ไปด้วยครับ ...  :D ....
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549