ผู้เขียน หัวข้อ: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ  (อ่าน 6647 ครั้ง)

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

ออฟไลน์ panus_t

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

แต่ถ้าต้องการเงื่อนไขให้ตรวจสอบอักษรใน hpi ล่ะครับ  เช่น
ถ้า hpi มีคำว่า ("ให้ทานยา" หรือ"ให้ ทานยา") และ"ส่งตัวไปER"
จะเขียน If ยังไง
 ;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
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #1 เมื่อ: มิถุนายน 23, 2011, 18:04:24 PM »
0
น่าจะเป็น

โค๊ด: 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;
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ nummon

  • Full Member
  • ***
  • กระทู้: 107
  • Respect: 0
    • ดูรายละเอียด
    • SrisangwornSukhothai Hospital
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #2 เมื่อ: มิถุนายน 24, 2011, 07:49:55 AM »
0
อีกแบบที่น่าจะได้

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

       CheckBox1.checked:=false

      else

       CheckBox1.checked:=true;

    end;
<a href=http://www.srisangworn.go.th>โรงพยาบาลศรีสังวรสุโขทัย</a>
Hosxp : 3.54.2.15
SERVER :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.1   Mysql  5.1.23-rc
SLAVE-I :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.2   Mysql  5.1.45 (Mysql Replication)
เริ่ม  4 สิงหาคม 2549  ขึ้นระบบ : อ.ชัยพร และ ทีม BMS

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #3 เมื่อ: มิถุนายน 24, 2011, 11:00:34 AM »
0
น่าจะเป็น

โค๊ด: 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%"
« แก้ไขครั้งสุดท้าย: มิถุนายน 24, 2011, 11:08:38 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
    • ดูรายละเอียด
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #4 เมื่อ: มิถุนายน 24, 2011, 11:09:04 AM »
0
อีกแบบที่น่าจะได้

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

       CheckBox1.checked:=false

      else

       CheckBox1.checked:=true;

    end;

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

(ลืมแนบไฟล์)
« แก้ไขครั้งสุดท้าย: มิถุนายน 24, 2011, 15:51:44 PM โดย 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

ออฟไลน์ nummon

  • Full Member
  • ***
  • กระทู้: 107
  • Respect: 0
    • ดูรายละเอียด
    • SrisangwornSukhothai Hospital
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #5 เมื่อ: มิถุนายน 24, 2011, 11:22:08 AM »
0
Error นี้แก้ไขอย่างไรครับ

 ??? ??? ???
<a href=http://www.srisangworn.go.th>โรงพยาบาลศรีสังวรสุโขทัย</a>
Hosxp : 3.54.2.15
SERVER :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.1   Mysql  5.1.23-rc
SLAVE-I :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.2   Mysql  5.1.45 (Mysql Replication)
เริ่ม  4 สิงหาคม 2549  ขึ้นระบบ : อ.ชัยพร และ ทีม BMS

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,128
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #6 เมื่อ: มิถุนายน 24, 2011, 11:29:20 AM »
0
น่าจะเป็น

โค๊ด: 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']+'"
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ nummon

  • Full Member
  • ***
  • กระทู้: 107
  • Respect: 0
    • ดูรายละเอียด
    • SrisangwornSukhothai Hospital
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #7 เมื่อ: มิถุนายน 26, 2011, 10:17:33 AM »
0
Error นี้แก้ไขอย่างไรครับ
(ลืมแนบไฟล์)

เอา code ไปใส่ไว้ที่ไหน ใช่อันนี้ไหมครับ
<a href=http://www.srisangworn.go.th>โรงพยาบาลศรีสังวรสุโขทัย</a>
Hosxp : 3.54.2.15
SERVER :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.1   Mysql  5.1.23-rc
SLAVE-I :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.2   Mysql  5.1.45 (Mysql Replication)
เริ่ม  4 สิงหาคม 2549  ขึ้นระบบ : อ.ชัยพร และ ทีม BMS

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #8 เมื่อ: มิถุนายน 27, 2011, 08:55:40 AM »
0
Error นี้แก้ไขอย่างไรครับ
(ลืมแนบไฟล์)

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

ผมเอาไปไว้ที่ Variable ครับ.. ;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

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #9 เมื่อ: มิถุนายน 27, 2011, 11:08:16 AM »
0
ต้องมีการประกาศชนิดตัวแปรตรงไหนก่อนหรือเปล่าครับ
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  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

ออฟไลน์ nummon

  • Full Member
  • ***
  • กระทู้: 107
  • Respect: 0
    • ดูรายละเอียด
    • SrisangwornSukhothai Hospital
Re: ขอความช่วยเหลือเรื่องคำสั่ง if ครับ
« ตอบกลับ #10 เมื่อ: มิถุนายน 27, 2011, 12:50:55 PM »
0
ขออภัย ผิดที่วงเล็บครับ เพิ่มไปอีกนิด ) กับ (

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

       CheckBox1.checked:=false

      else

       CheckBox1.checked:=true;

    end;
« แก้ไขครั้งสุดท้าย: มิถุนายน 27, 2011, 12:52:57 PM โดย nummon »
<a href=http://www.srisangworn.go.th>โรงพยาบาลศรีสังวรสุโขทัย</a>
Hosxp : 3.54.2.15
SERVER :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.1   Mysql  5.1.23-rc
SLAVE-I :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.2   Mysql  5.1.45 (Mysql Replication)
เริ่ม  4 สิงหาคม 2549  ขึ้นระบบ : อ.ชัยพร และ ทีม BMS