BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: jam10 ที่ เมษายน 17, 2012, 10:23:39 AM
-
ผมต้องการเงื่อนไขแบบนี้ครับ
FBS 126-154 = Grade 1
155-182 = Grade 2
>= 183 = Grade 3
แล้วผมเขียนคำสั่งแบบนี้ แต่มันแปลผลออกมาเป็น ปกติ หมดครับ ต้องแก้ตรงไหนคับ รบกวนท่านอาจาร์ยทั้งหลายด้วยครับ เพื่อเป็นแนวทางในการเขียนครั้งต่อไปครับ :D
Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['name3']+'"');
if Value < 125 then
Value := '- ปกติ'
else if (Value >= 126) and (Value <= 154) then
Value := '- 1'
else if (Value >= 155) and (Value <= 182) then
Value := '- 2'
else if Value >= 183 then
Value := '- 3';
-
ลองแบบนี้ได้ไมครับ ;)
Value := GetSQLStringData('select case when fbs between 126 and 154 then "- 1" when fbs between 155 and 182 then "- 2" when fbs >= 183 then "- 3" when (fbs is null or fbs = 0) then "N/A" else "- ปรกติ" end as cc from opdscreen where hn="'+DBPipeline['name3']+'"');
-
ผมต้องการเงื่อนไขแบบนี้ครับ
FBS 126-154 = Grade 1
155-182 = Grade 2
>= 183 = Grade 3
แล้วผมเขียนคำสั่งแบบนี้ แต่มันแปลผลออกมาเป็น ปกติ หมดครับ ต้องแก้ตรงไหนคับ รบกวนท่านอาจาร์ยทั้งหลายด้วยครับ เพื่อเป็นแนวทางในการเขียนครั้งต่อไปครับ :D
Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['name3']+'"');
if Value < 125 then
Value := '- ปกติ'
else if (Value >= 126) and (Value <= 154) then
Value := '- 1'
else if (Value >= 155) and (Value <= 182) then
Value := '- 2'
else if Value >= 183 then
Value := '- 3';
ลองใช้ case of เอาครับ ทำเป็นช่วง ๆ ก็ได้
ตัวอย่างครับ
Case Value of
1..125 : Value :='ปกติ';
126..154 : Value :='1';
155..182 : Value :='2';
else Value :='3';
end;
-
มันขึ้นเป็น ปกติ ทั้งหมดเลยครับ ???
ผมต้องการเงื่อนไขแบบนี้ครับ
FBS 126-154 = Grade 1
155-182 = Grade 2
>= 183 = Grade 3
แล้วผมเขียนคำสั่งแบบนี้ แต่มันแปลผลออกมาเป็น ปกติ หมดครับ ต้องแก้ตรงไหนคับ รบกวนท่านอาจาร์ยทั้งหลายด้วยครับ เพื่อเป็นแนวทางในการเขียนครั้งต่อไปครับ :D
Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['name3']+'"');
if Value < 125 then
Value := '- ปกติ'
else if (Value >= 126) and (Value <= 154) then
Value := '- 1'
else if (Value >= 155) and (Value <= 182) then
Value := '- 2'
else if Value >= 183 then
Value := '- 3';
ลองใช้ case of เอาครับ ทำเป็นช่วง ๆ ก็ได้
ตัวอย่างครับ
Case Value of
1..125 : Value :='ปกติ';
126..154 : Value :='1';
155..182 : Value :='2';
else Value :='3';
end;
-
where hn="'+DBPipeline['name3']+'"
เชื่อมจากตารางไหนครับ
จะให้ง่าย ส่ง ตัวรายงานมาให้ทดสอบครับ :) :) :)
-
clinicmember ครับ เอาเฉพาะผู้ป่วยที่เป็นความดัน ครับ
where hn="'+DBPipeline['name3']+'"
เชื่อมจากตารางไหนครับ
จะให้ง่าย ส่ง ตัวรายงานมาให้ทดสอบครับ :) :) :)
-
Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['hn']+'" and '+
' vstdate between "'+ds1+'" and "'+ds2+'"');
if Value < 125 then
Value := ' »¡µÔ'
else if (Value >= 126) and (Value <= 154) then
Value := 'G1'
else if (Value >= 155) and (Value <= 182) then
Value := 'G2'
else if Value >= 183 then
Value := 'G3';
-
ได้แล้วครับ ขอบคุณ ท่านอาจาร์ย niyomstd มากๆครับ :D
Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['hn']+'" and '+
' vstdate between "'+ds1+'" and "'+ds2+'"');
if Value < 125 then
Value := ' »¡µÔ'
else if (Value >= 126) and (Value <= 154) then
Value := 'G1'
else if (Value >= 155) and (Value <= 182) then
Value := 'G2'
else if Value >= 183 then
Value := 'G3';