BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: panus_t ที่ มิถุนายน 23, 2011, 13:59:36 PM

หัวข้อ: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: panus_t ที่ มิถุนายน 23, 2011, 13:59:36 PM
จากตัวอย่าง
  if DBPipeline['hpi'] is null then
   CheckBox1.checked:=false
  else
   CheckBox1.checked:=true;
ถ้าค่า hpi ไม่เป็นช่องว่าง ให้ CheckBox1 ติ๊กเครื่องหมายถูก

แต่ถ้าต้องการเงื่อนไขให้ตรวจสอบอักษรใน hpi ล่ะครับ  เช่น
ถ้า hpi มีคำว่า ("ให้ทานยา" หรือ"ให้ ทานยา") และ"ส่งตัวไปER"
จะเขียน If ยังไง
 ;D

หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: pop_hosxp ที่ มิถุนายน 23, 2011, 18:04:24 PM
น่าจะเป็น

โค๊ด: Delphi
  1. If getsqlintegerdata('select count(vn) as cc from opdscreen where hpi like "%ให้ทานยา%" and vn="'+dbpipeline['vn']+'" ')>0 then
  2.    CheckBox1.checked:=false
  3.   else
  4.    CheckBox1.checked:=true;
  5. end;
หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: nummon ที่ มิถุนายน 24, 2011, 07:49:55 AM
อีกแบบที่น่าจะได้

    If (pos('ทานยา',DBPipeline['hpi'])>0 and pos('ส่งตัวไปER',DBPipeline['hpi'])>0) then

       CheckBox1.checked:=false

      else

       CheckBox1.checked:=true;

    end;
หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: panus_t ที่ มิถุนายน 24, 2011, 11:00:34 AM
น่าจะเป็น

โค๊ด: Delphi
  1. If getsqlintegerdata('select count(vn) as cc from opdscreen where hpi like "%ให้ทานยา%" and vn="'+dbpipeline['vn']+'" ')>0 then
  2.    CheckBox1.checked:=false
  3.   else
  4.    CheckBox1.checked:=true;
  5. end;
ถ้าต้องการเงื่อนไข หลาย ๆ ตัวล่ะครับ เช่น "%ให้ทานยา%" หรือ "%ให้ ทานยา%" และ"%ส่ง ER%"
หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: panus_t ที่ มิถุนายน 24, 2011, 11:09:04 AM
อีกแบบที่น่าจะได้

    If (pos('ทานยา',DBPipeline['hpi'])>0 and pos('ส่งตัวไปER',DBPipeline['hpi'])>0) then

       CheckBox1.checked:=false

      else

       CheckBox1.checked:=true;

    end;

Error นี้แก้ไขอย่างไรครับ

(ลืมแนบไฟล์)
หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: nummon ที่ มิถุนายน 24, 2011, 11:22:08 AM
Error นี้แก้ไขอย่างไรครับ

 ??? ??? ???
หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: pop_hosxp ที่ มิถุนายน 24, 2011, 11:29:20 AM
น่าจะเป็น

โค๊ด: Delphi
  1. If getsqlintegerdata('select count(vn) as cc from opdscreen where hpi like "%ให้ทานยา%" and vn="'+dbpipeline['vn']+'" ')>0 then
  2.    CheckBox1.checked:=false
  3.   else
  4.    CheckBox1.checked:=true;
  5. end;
ถ้าต้องการเงื่อนไข หลาย ๆ ตัวล่ะครับ เช่น "%ให้ทานยา%" หรือ "%ให้ ทานยา%" และ"%ส่ง ER%"


เพิ่ม condition เข้าไปครับ เช่น

select count(vn) as cc from opdscreen where (hpi like "%ให้ทานยา%" or hpi like "%ส่ง ER%" or hpi like "%ให้ ทานยา%") and vn="'+dbpipeline['vn']+'"
หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: nummon ที่ มิถุนายน 26, 2011, 10:17:33 AM
Error นี้แก้ไขอย่างไรครับ
(ลืมแนบไฟล์)

เอา code ไปใส่ไว้ที่ไหน ใช่อันนี้ไหมครับ
หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: panus_t ที่ มิถุนายน 27, 2011, 08:55:40 AM
Error นี้แก้ไขอย่างไรครับ
(ลืมแนบไฟล์)

เอา code ไปใส่ไว้ที่ไหน ใช่อันนี้ไหมครับ

ผมเอาไปไว้ที่ Variable ครับ.. ;D
หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: panus_t ที่ มิถุนายน 27, 2011, 11:08:16 AM
ต้องมีการประกาศชนิดตัวแปรตรงไหนก่อนหรือเปล่าครับ
หัวข้อ: Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
เริ่มหัวข้อโดย: nummon ที่ มิถุนายน 27, 2011, 12:50:55 PM
ขออภัย ผิดที่วงเล็บครับ เพิ่มไปอีกนิด ) กับ (

If (pos('ทานยา',DBPipeline['hpi'])>0)
and ( pos('ส่งตัวไปER',DBPipeline['hpi'])>0) then

       CheckBox1.checked:=false

      else

       CheckBox1.checked:=true;

    end;