BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: Red'A'rmY ที่ พฤษภาคม 31, 2011, 22:45:15 PM

หัวข้อ: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Red'A'rmY ที่ พฤษภาคม 31, 2011, 22:45:15 PM
พอดีหัดเขียนรายงานครับมือใหม่
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: nuttavut ที่ พฤษภาคม 31, 2011, 22:48:34 PM
พอดีหัดเขียนรายงานครับมือใหม่

Capture หน้าตารายงานให้ดูหน่อยก็จะดีนะครับ จะได้ไม่ต้องนำเข้ารายงาน ฝากด้วยครับ ;D ;D ;D
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Red'A'rmY ที่ มิถุนายน 02, 2011, 18:09:13 PM
ผู้รู้ช่วยบอกโค้ดคำสั่งหน่อยครับ พอดีมือใหม่ลองผิดลองถูกอ่ะครับ
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: pop_hosxp ที่ มิถุนายน 02, 2011, 20:00:04 PM
ตัวอย่าง

โรคจิต 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" ');

แล้วทำแบบนี้กับตัวอื่น ๆ ครับ
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Red'A'rmY ที่ มิถุนายน 02, 2011, 23:02:06 PM
ลองแล้วครับ ค่าที่ออกมาเป็น 0 ครับ
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Red'A'rmY ที่ มิถุนายน 03, 2011, 09:44:02 AM
ผมใช้คำสั่งนี้ครับ ช่วยอาจารย์ดูที่ครับว่าใช้ได้ไหม
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;
   

ลองคำสั่งนี้แล้ว ค่าที่ได้กลับเป็นศูนย์ ไม่รู้จะแก้ยังไงกำลังรอผู้รู้อยู่ครับ
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: kwh ที่ มิถุนายน 03, 2011, 12:03:09 PM
ผมว่าน่าจะเพิ่ม

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

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

เพิ่มเติมนิดเดียว  ;D
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Khuad ที่ มิถุนายน 03, 2011, 12:18:20 PM

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

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

 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"');
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Red'A'rmY ที่ มิถุนายน 03, 2011, 12:36:12 PM
งงกำคำสั่งอ่ะครับ น่าจะลืมเขียนคำสัง่ like"F20%" ให้นะครับ
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Red'A'rmY ที่ มิถุนายน 03, 2011, 12:39:12 PM

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

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

 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%" น่าจะหายไปนะครับ
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: golf_win ที่ มิถุนายน 03, 2011, 12:50:56 PM

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

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

 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 คำสั่งหรือยังครับ
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: pop_hosxp ที่ มิถุนายน 03, 2011, 13:15:15 PM
... น่าจะเป็น ...

 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")');
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Khuad ที่ มิถุนายน 03, 2011, 15:00:07 PM
... น่าจะเป็น ...

... ตาม อ.ป๊อบ เลยครับ
   
    copy มาวางลืมดูให้ละเอียดครับ ว่า  ) หายไป 1 ตัว ...  ;D  ;D ....
 
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: adisaksri ที่ มิถุนายน 03, 2011, 16:15:45 PM
... น่าจะเป็น ...

... ตาม อ.ป๊อบ เลยครับ
   
    copy มาวางลืมดูให้ละเอียดครับ ว่า  ) หายไป 1 ตัว ...  ;D  ;D ....
 
คนมันอายุเยอะแล้วก็เป็นอย่างนี้แหละ ;D ;D ;D ;D
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Khuad ที่ มิถุนายน 03, 2011, 16:24:52 PM
คนมันอายุเยอะแล้วก็เป็นอย่างนี้แหละ ;D ;D ;D ;D

... อิ อิ อิ  แต่ว่าพี่น่ะ ก้ออายุเยอะกว่าผมติดนึงนาคร้าบบบบบบ 55555++ ...  ;D  ;D ....
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Jittaya ที่ มิถุนายน 03, 2011, 17:22:48 PM
แล้วทำไมไม่ใช้ PDX between "F20" and "F29" ไปเลยละนี่ เพราะ F26- F27 มันไม่มีใน ICD10 นะค่ะ
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Khuad ที่ มิถุนายน 03, 2011, 17:45:31 PM

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

   and (pdx between "F20" and "F25"

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


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

หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: James011 ที่ มิถุนายน 03, 2011, 18:08:07 PM
 ;D ;D ;D  อีกวิธีครับ  and (substring(pdx,1,3) between "F20" and "F25")

 
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: pop_hosxp ที่ มิถุนายน 04, 2011, 09:35:23 AM

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

   and (pdx between "F20" and "F25"

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


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



รวมอยู่นะครับอ.ขวด
หัวข้อ: Re: หัดเขียน อาจารย์ช่วยดูคำสั่งหน่อยครับ มือใหม่ยังไม่ชำนาญ
เริ่มหัวข้อโดย: Khuad ที่ มิถุนายน 05, 2011, 23:53:15 PM
รวมอยู่นะครับอ.ขวด

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


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

    จะไม่รวมพวก F25x  ไปด้วยครับ ...  :D ....