ผู้เขียน หัวข้อ: เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร  (อ่าน 7180 ครั้ง)

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

ออฟไลน์ yokyai

  • Hero Member
  • *****
  • กระทู้: 1,462
  • Respect: +9
    • ดูรายละเอียด
เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร
« เมื่อ: กุมภาพันธ์ 11, 2010, 10:28:24 AM »
0
คือถ้าเราเรียกรายการมาใส่ใน pickuplistแล้ว เช่น สมมตินะคับ
getpickuplist('select name from doctor') ก็จะได้ชื่อคนทั้งหมดในตาราง doctor มา
แต่ผมอยากให้รายงานมันมีเงื่อนไขเพิ่มที่ว่าถ้าไม่เลือกรายการไหนเลย ก็ให้หมายถึงทุกคนรวมกันในตาราง doctor หรือว่าเพิ่มตัวเลือกไปว่า All อะไรประมาณนี้หน่ะคับ ทำอย่างไร
Sakaowrat Choocherd(Administrator) Information Technologist
Bangyai Hospital(30 beds)
HOSxP = 16_May_2008
Master and Slave : DELL-R730 Server Intel Xeon 8Core(2Units)
,Ram64 GB,HDD600(10k)x4,Raid5,CentOS 7.0 64 bit
,MySQL 10.1.10-MariaDB
(3 March 2016) With BMSxTraBackupGUI

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร
« ตอบกลับ #1 เมื่อ: กุมภาพันธ์ 11, 2010, 10:32:32 AM »
0
 ;D ;D ;D กรณีที่ 1 เพิ่ม All ใน list

getpickuplist( select "All" union select name from doctor)

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร
« ตอบกลับ #2 เมื่อ: กุมภาพันธ์ 11, 2010, 10:36:38 AM »
0
 ;D ;D  กรณี 2 แบบไม่เลือกอะไรแล้วให้เป็น All

          gl1:=getpickuplist('select name from doctor')
         
          if gl1 ='' then
          begin
          gl1:='All';
          end;

ออฟไลน์ yokyai

  • Hero Member
  • *****
  • กระทู้: 1,462
  • Respect: +9
    • ดูรายละเอียด
Re: เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร
« ตอบกลับ #3 เมื่อ: กุมภาพันธ์ 11, 2010, 10:42:59 AM »
0
ผมลอง select "ALL" มาแล้วคับ แล้วตรง All เนี่ยผมต้องให้มันรับค่าอะไรหรือเปล่า คือลองใส่ select "ALL" ไว้แล้วเลือกเลยเนี่ยมันไม่มาคับ
Sakaowrat Choocherd(Administrator) Information Technologist
Bangyai Hospital(30 beds)
HOSxP = 16_May_2008
Master and Slave : DELL-R730 Server Intel Xeon 8Core(2Units)
,Ram64 GB,HDD600(10k)x4,Raid5,CentOS 7.0 64 bit
,MySQL 10.1.10-MariaDB
(3 March 2016) With BMSxTraBackupGUI

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร
« ตอบกลับ #4 เมื่อ: กุมภาพันธ์ 11, 2010, 10:54:45 AM »
0
 ;D ;D ;D  สร้างตัวแปรมารับค่า GetPickupList 1 ตัว ชื่อ gl1 ครับ  Test Showmessage ก็ได้ครับ
 
gl1:=getpickuplist( select "All" union select name from doctor)
showmessage(gl1);

ออฟไลน์ yokyai

  • Hero Member
  • *****
  • กระทู้: 1,462
  • Respect: +9
    • ดูรายละเอียด
Re: เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร
« ตอบกลับ #5 เมื่อ: กุมภาพันธ์ 11, 2010, 10:59:24 AM »
0
แสดงว่า select "ALL" เนี่ย โปรแกรมฉลาดพอที่จะรู้ว่าคำว่า ALL มันหมายถึงอะไรใช่ไหมคับ คือเคยทำแบบนี้แล้ว รายงานมันออกมาเป็น 0 เลยคับ
Sakaowrat Choocherd(Administrator) Information Technologist
Bangyai Hospital(30 beds)
HOSxP = 16_May_2008
Master and Slave : DELL-R730 Server Intel Xeon 8Core(2Units)
,Ram64 GB,HDD600(10k)x4,Raid5,CentOS 7.0 64 bit
,MySQL 10.1.10-MariaDB
(3 March 2016) With BMSxTraBackupGUI

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร
« ตอบกลับ #6 เมื่อ: กุมภาพันธ์ 11, 2010, 11:16:23 AM »
0
 ;D ;D เราต้องเขียน เงือนไขให้มันด้วยครับ  เช่น

          If gl1='All' then
             begin
             ChangeReportSQL('select * from vn_stat where vstdate between "2009-12-01" and  "2009-12-31"');
             end
          else
             begin
             ChangeReportSQL('select * from vn_stat where vstdate between "2009-12-01" and  "2009-12-31" and dx_doctor="'+gl1+'"')
             end;



ออฟไลน์ Svl2Nuk3

  • Hero Member
  • *****
  • กระทู้: 793
  • Respect: 0
    • ดูรายละเอียด
Re: เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร
« ตอบกลับ #7 เมื่อ: กุมภาพันธ์ 11, 2010, 12:45:56 PM »
0
;D ;D เราต้องเขียน เงือนไขให้มันด้วยครับ  เช่น

          If gl1='All' then
             begin
             ChangeReportSQL('select * from vn_stat where vstdate between "2009-12-01" and  "2009-12-31"');
             end
          else
             begin
             ChangeReportSQL('select * from vn_stat where vstdate between "2009-12-01" and  "2009-12-31" and dx_doctor="'+gl1+'"')
             end;




นิดนึงครับถ้าไม่ใช่ all     gl1  มีค่า  =  ชื่อหมอ
ต้องประกาศตัวแปรมาเก็บ  code ก่อนอ่ะครับ
doctor_code := GetSQLStringData('select code from doctor where name="'+gl1+'"');
แล้วก็เอา  doctor_code  ไปใส่ใน  sql
I'm nuke (นุ๊ก)
My Blog  : http://www.codenuke.net
อดีต นวก.คอมฯ รพช.พรหมพิราม => 1 พ.ค. 52 - 30 ก.ย. 54
ปัจจุบัน : Software Engineer บริษัทแห่งหนึ่ง

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,358
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: เราจะเพิ่มตัวเลือกใน getpickuplist ได้อย่างไร
« ตอบกลับ #8 เมื่อ: กุมภาพันธ์ 11, 2010, 23:50:09 PM »
0
ผมเคย post ไว้หลายรายงานแล้วที่ใช้ลักษณะนี้
เช่น
ปรับปรุงใหม่ - ค้นหาประชากรกลุ่มเป้าหมาย (หากไม่เลือกหมู่บ้าน จะแสดงทุกหมู่)
หากไม่เลือกหมู่บ้าน จะแสดงทุกหมู่บ้าน (แสดงแยกรายหมู่บ้าน จะได้ไม่ต้องมาเลือกทีละหมู่ให้เสียเวลา)
หากไม่เลือกเพศ จะแสดงทั้งข้อมูลทุกคน
หากไม่ใส่อายุ จะใช้อายุต่ำสุด = 0 อายุสูงสุด = 124
ไปดูที่ http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=6700.msg96049#msg96049 ครับ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)