บทที่ 4 การสร้าง Query เพื่อคัดเลือกข้อมูล มุมมองของ Query ใน Query มีมุมมองที่ใช้อยูด่ ว้ ยกัน 5 ชนิด คือ
1. มุมมองออกแบบ (Design View) เป็ นมุ ม มองที่ ใ ช้ส ร้ างกฎเกณฑ์ใ นการเลื อ ก ข้อมูล การสลับไปยังมุมมองออกแบบ โดยการคลิกที่ปุ่ม Design View บนทูลบาร์ หรื อใช้คาสั่ง Query Design และเลือกมุมมองออกแบบจากเมนู View ( มุมมอง) บนเมนูบาร์ 2. มุมมองแผ่ นข้ อมูล ( Datasheet View ) เป็ นมุมมองที่ใช้แสดงข้อมูลที่สร้างหรื อ เลือ กโดย Query การสลับไปยังมุ มมองแผ่นข้อมูล นี้ โดยการคลิกที่ปุ่ม Datasheet View บนแถบ เครื่ องมือ หรื อใช้คาสั่ง Query Design และเลือกมุมมองแผ่นข้อมูลจากเมนู View ( มุมมอง) บน แถบเมนู 3. มุมมอง SQL (SQL View) เป็ นมุ มมองที่แสดง Query ในแบบภาษา SQL การสลับ ไปยังมุ มมอง SQL นี้ ทาได้โดยการคลิ กที่ปุ่ม SQL View บนแถบเครื่ อ งมื อ หรื อ ใช้คาสั่ง Query Design และเลือกมุมมอง SQL จากเมนู View ( มุมมอง) บนแถบเมนู 4. มุมมอง PivotTable เป็ นมุมมองที่ใช้แสดงข้อมูลที่ได้จากการรัน Query ตามเงื่อนไขที่ กาหนดไว้ โดยแสดงในรู ป ของตารางแจกแจงรายละเอี ยดและสรุ ป ผลข้อ มู ล การสลับ ไปยัง มุมมอง PivotTable นี้ ทาได้โดยการคลิกที่ปุ่ม PivotTable บนแถบเครื่ องมื อหรื อ ใช้คาสั่ง Query Design และเลือกมุมมอง PivotTable จากเมนู View ( มุมมอง) บนแถบเมนู 5. มุมมอง PivotChart เป็ นมุมมองที่ใช้แสดงข้อมูลที่ได้จากการรัน Query โดยวิเคราะห์ และสรุ ปผลในรู ปของแผนภูมิ หรื อ Chart การสลับไปยังมุมมอง PivotChart นี้ ทาได้โดยการคลิก ที่ปุ่ม PivotChart บนแถบเครื่ องมือหรื อใช้คาสั่ง Query Design และเลือกมุ มมอง PivotChart จาก เมนู View ( มุมมอง) บนแถบเมนู
74
การออกแบบ Query ในมุมมองออกแบบ (Design View) ในการสร้างหรื อดัดแปลง Query จะกระทาอยูใ่ นมุมมองออกแบบ ก่อนที่จะลงมือสร้างเรา จาเป็ นต้องคุน้ เคยกับองค์ประกอบที่ใช้ในการออกแบบของ Query เสี ยก่อน ซึ่งเรี ยกว่า มุมมองของ เอกสาร Query ในมุมมองออกแบบมีลกั ษณะดังรู ปต่อไปนี้
พื ้นที่สว่ นบน
พื ้นที่สว่ นล่าง
ในมุมมองออกแบบของ Query จะมีส่วนประกอบหลักอยู่ 2 ส่ วน คือ - พืน้ ที่ส่วนบน เป็ นส่วนของตาราง จะบอกถึงตารางที่ใช้กบั Query นี้ ใน Query อันหนึ่งสามารถใช้กบั ตารางได้หลายตาราง และสามารถกาหนดความสัมพันธ์ ระหว่างตารางได้ ตารางที่มีความสัมพันธ์กนั จะมีเส้นเชื่อมต่อลากโยงระหว่างฟิ ลด์ที่ ตรงกันของตาราง - ส่ วนล่ างหรือเรียกว่ า OBE Grid เป็ นส่วนที่ใช้กาหนดกฎเกณฑ์ในการเลือกและวิธี แสดงข้อมูล การสลับไป-มาระหว่างพื้นที่ส่วนบนกับ OBE Grid ทาได้โดยใช้ Mouse คลิกมายังพื้นที่ ส่วนที่ตอ้ งการ หรื อกดปุ่ ม F6 เพือ่ สลับไป-มาระหว่างส่วนทั้งสอง
75
การสร้ าง Query ที่ใช้ คดั เลือกข้ อมูล Query ที่ใช้คดั เลือกข้อมูล (Select Query) เป็ น Query ชนิดที่มีการใช้กนั มากที่สุด Query ชนิดนี้ใช้เลือกข้อมูลตรงตามเงื่อนไขที่ตอ้ งการจากตารางที่มีขอ้ มูลจานวนมาก เช่น ถ้าต้องการ ลงทะเบียนมีรายชื่อนักเรี ยนและวิชาที่ลงทะเบียนนับหมื่นระบียน แต่ถา้ จะต้องการทราบข้อมูลของ นักเรี ยนคนใดคนหนึ่ง การดูขอ้ มูลทั้งหมดเป็ นเรื่ องที่ยากลาบาก แต่ Query สามารถช่วยเรา กลัน่ กรองและคัดเลือกข้อมูลเฉพาะที่ตรงกับเงื่อนไขที่เรากาหนดในส่วนนี้ จะแสดงการสร้าง Query ที่ใช้ในการคัดเลือกข้อมูล
ขั้นตอนการสร้ าง Query ทีใ่ ช้ คดั เลือกข้ อมูล ในการสร้าง Query มีหลักการปฏิบตั ิดงั ต่อไปนี้ - กาหนดตารางให้ Query ใช้ - เลือกเขตข้อมูลจากตารางที่ตอ้ งการใช้ใน Query - ใส่กฎเกณฑ์ที่ใช้ในการเลือกระเบียน - กาหนดการเรี ยงลาดับข้อมูล - แสดงผลข้อมูลตามที่เราต้องการ
การสร้ าง Query ที่ใช้ คดั เลือกข้ อมูลจากตารางอันเดียว เป็ นรู ปแบบที่ง่ายที่สุดในการสร้าง Query ที่ใช้คดั เลื อกข้อมู ล คือ Query ที่ใช้ขอ้ มูลจาก ตารางเพีย งตารางเดี ยว ในขั้น ตอนนี้ จะเป็ นการแสดงถึ งพื้น ฐานของ Query เพื่อ ใช้อ อกแบบ Query ที่ซบั ซ้อนต่อไป
ตาราง tbl_student
76
การสร้ าง Query แบบสอบถามด้วยตัวเอง 1. นาเมาส์ไปคลิกที่ Ribbon สร้างจากนั้นคลิกที่ปุ่ม ออกแบบแบบสอบถาม 2. จากนั้นจะปรากฏกรอบแสดงตารางให้เราเลือกตารางที่จะทาการสอบถามข้อมูลโดย ในที่น้ ีเราจะเลือกรู ปแบบการสอบถามข้อมูลโดยใช้ 1 ตาราง 3. คลิกเลือกตารางที่ตอ้ งการสอบถามข้อมูล จากนั้นคลิกที่ปุ่มเพิม่
4. โปรแกรมจะแสดงตาราง Query ที่เลือกเพือ่ สอบถามข้อมูล
77 5. เลือกเขตข้อมูลที่ตอ้ งการสอบถามข้อมูล โดยวิธีการเลือกเขตข้อมูลในตารางของ Query ส่วนบน คลิกค้างไว้แล้วลากลงมายัง Query ส่วนล่าง
เลือกเขตข้ อมูลที่ต้องการ
นามาวางยังตาราง Query ส่วนล่าง
6. คลิกที่
เพือ่ แสดงตาราง Query ที่เลือกสอบถามข้อมูล
78
การสร้ าง Query ด้วยตัวช่ วยสร้ างแบบสอบถาม 1. นา Mouse ไป Click ที่ Ribbon สร้าง จากนั้นคลิกที่ปุ่ม 2. จะปรากฏไดอะล๊อกบล๊อกซ์ ดังรู ป จากนั้นคลิก ตัวช่ วยสร้ างแบบสอบถามอย่ างง่าย
3. จะปรากฏกรอบหน้าต่าง ตัวช่ วยสร้ างแบบสอบถามอย่างง่ าย ให้เราเลือกตารางและ เขตข้อมูลที่เราต้องการ เลือกเขตข้อมูลที่แสดงเป็ นอันดับแรกคือ id_book แล้วคลิก ที่ปมุ่ > เพือ่ เลือกเขตข้อมูลหรื อคลิกที่ปมุ่ >> เพื่อเลือกเขตข้อมูลทั้งหมด โดยเขต ข้อมูลที่เลือกจะย้ายไปในกรอบ “เขตข้ อมูลที่เลือก” หากไม่ตอ้ งการเขตข้อมูลที่เลือก สามารถคลิกที่ปมุ่ < เพือ่ เอาเขตข้อมูลที่เลือกออก หรื อคลิกที่ปมุ่ << เพือ่ เอาเขต ข้อมูลทั้งหมดออก
เขตข้ อมูลที่ถกู เลือก
รายการเขตข้ อมูล
79 4. จะปรากฏกรอบหน้าต่างให้ทาการตั้งชื่อตารางแบบสอบถาม และมีตวั ช่วยให้เราเลือก ว่าจะเปิ ดตารางแบบสอบถามเพือ่ ดูขอ้ มูล หรื อปรับเปลี่ยนการออกแบบแบบสอบถาม
ตังชื ้ ่อตาราง แบบสอบถาม
เลือกรูปแบบ # เปิ ดแบบสอบถามเพื่อดูข้อมูล # ปรับเปลี่ยนการออกแบบแบบสอบถาม
5. จะปรากฏหน้าต่างสาหรับแบบสอบถาม ดังรู ป
80
การสร้ าง Query ที่ใช้ ข้อมูลจากตารางหลายตาราง Query สามารถใช้ขอ้ มูลจากตารางหลายๆ ตารางร่ วมกัน จากตัวอย่างให้สร้างตาราง (TABLE) อีก 1 ตาราง และให้ชื่อตารางเป็ น หนังสื อ โดยมีการออกแบบให้กบั ตาราง ตาม รู ปแบบที่กาหนดให้มาดังนี้ ในตัวอย่างต่อไปนี้ จะสร้าง Query ให้ดึงข้อมูลจากตาราง 2 ตารางมาใช้งานร่ วมกันโดยให้ แสดงลาดับ , รหัสหนังสื อ , ชื่อหนังสือ , รหัสหมวด , ปี ที่พมิ พ์ , ผูแ้ ต่ง จากตารางหนังสือ Tblbook และผสมข้อมูล ชื่อหมวดหนังสือ จากตารางหมวดหนังสือ Tbltype โดยมีข้นั ตอนดังต่อไปนี้ 1. นาเมาส์ไปคลิกที่ Ribbon สร้างจากนั้นคลิกที่ปุ่ม ออกแบบแบบสอบถาม 2. จากนั้นจะปรากฏกรอบแสดงตารางให้เราเลือกตารางที่จะทาการสอบถามข้อมูลโดย ในที่น้ ีเราจะเลือกรู ปแบบการสอบถามข้อมูลโดยใช้ 2 ตาราง 3. คลิกเลือกตารางที่ตอ้ งการสอบถามข้อมูล จากนั้นคลิกที่ปุ่มเพิม่
4. โปรแกรมจะแสดงตาราง Query ที่เลือกเพือ่ สอบถามข้อมูล
81 5. เลือกเขตข้อมูลที่ตอ้ งการสอบถามข้อมูล โดยวิธีการเลือกเขตข้อมูลในตารางของ Query ส่วนบน คลิกค้างไว้แล้วลากลงมายัง Query ส่วนล่าง
6. คลิกที่
เพือ่ แสดงตาราง Query ที่เลือกสอบถามข้อมูล
82
กฎเกณฑ์ ในการเลือกข้ อมูล (Criteria)
ในการเลือกข้อมูลท่านจะต้องกาหนดกฎเกณฑ์ทใี่ ช้เลือกข้อมูลลงในแถว Criteria ของ QBE grid ให้แก่เขตข้อมูลที่ใช้ในการเลือกข้อมูล กฎเกณฑ์ คือ นิพจน์ที่อาจประกอบด้วยตัว อักษร, ข้อความ, ตัวเลข, วันเวลา, สูตรทางคณิ ตศาสตร์, โอเปอเรเตอร์หรื อฟังก์ชนั ภายในของ Access
83
การใช้ ค่าคงที่กฎเกณฑ์ รู ปแบบที่ง่ายที่สุดในการกาหนดกฎเกณฑ์คือกาหนดเป็ นค่าคงที่ ซึ่งเป็ นได้ท้งั ตัวอักษรและ ตัวเลข Access จะเปลี่ยนแปลงรู ปแบบของกฎเกณฑ์ที่เราใส่ เข้าไปให้อยูใ่ นรู ปแบบมาตราฐานของ Microsoft Access เช่ นการพิม พ์วนั ที่ลงไปในช่ อ ง Criteria ว่า 1/6/94 สิ่ งที่ปรากฎเมื่ อกด ENTER จะเป็ น #01/06/1994# ถ้าหากใช้ตวั อักษร Access จะเติมเครื่ องหมายคาพูดให้เช่นพิมพ์ว่า Bank จะ กลายเป็ น “Bank” ส่วนข้อมูลแบบตัวเลขจะไม่มีการเปลี่ยนแปลงแต่อย่างใด
การใช้ เครื่องหมาย Wildcard ในกฎเกณฑ์ ในการค้นหาข้อมูลบางครั้งเราต้องการข้อมูลที่มีรูปแบบของตัวอักษรในลักษณะหนึ่ง เช่น ต้อ งการให้เลื อ กเฉพาะระเบียนที่ มีขอ้ มู ล ขึ้น ด้วย A สามารถท าได้โดยการใช้ Wildcard มันเป็ น เครื่ องมือที่ช่วยให้การค้นหาข้อมูลเป็ นไปได้กว้างขวางขึ้น เครื่ องหมายที่ใช้เป็ น Wildcard ในการสร้างกฎเกณฑ์มีอยู่ 5 ตัว ด้วยกัน ดังตาราง เครื่ องหมาย Wildcard
โอเปอเรเตอร์ ทใี่ ช้ ร่วมกับค่ าคงที่ ในการก าหนดกฎเกณ ฑ์ ที่ ซั บ ซ้ อ นส าหรั บ ข้ อ ความร่ ว มกั บ Wildcard มั ก ร่ ว มกั บ โอเปอเรเตอร์ Like ถ้าหากใช้โอเปอเรเตอร์ Like และเครื่ อ งหมายคาพูดให้แต่รูปแบบของการใช้ โอเปอเรเตอร์ Like คือ Like “pattern” pattern คือ ส่ วนของข้อความที่ประกอบด้วยตัวอักษร , ตัวเลขและเครื่ องหมาย wildcard ยังโอเปอเรเตอร์ อี ก ตัวหนึ่ ง ที่ ใ ช้กับ ข้อ ความนั่ น ก็ คื อ In โดยมัน จะเลื อ กค่ าที่ อ ยู่ใ นวงเล็ บ เช่ น In(“Bangkok” , “Nontaburi”) ก็ จ ะเลื อ กระเบี ย นที่ เท่ า กั บ “Bangkok” หรื อ เท่ า กั บ “Nontaburi” รู ปแบบการใช้โอเปอเรเตอร์ คือ IN คือ [Not] In(value1,value2,…) Wildcard *
หน้าที่ แทนตัวอักษรหรื อตัวเลขจานวนตัวเดียวหรื อหลายตัวที่ตาแหน่งที่ เครื่ องหมายดาว (*) ปรากฏ ตัวอย่าง ban* เช่น bank, band, bangkok *ing เช่น booking, walking, running *the* เช่น other, theory, lithe
84 Wildcard ?
#
[]
! [!A-C]
หน้าที่ แทนตัวอักษรหรื อตัวเลขอะไรก็ได้ หนึง่ ตัวที่ตาแหน่งที่เครื่ องหมาย คาถามปรากฏ ตัวอย่าง ??ok เช่น book, hook ?a?h เช่น cash, wash ตัวเลขอะไรก็ได้ในตาแหน่งที่เครื่ องหมาย # ปรากฏ ตัวอย่าง ##00 แทน 1000, 3900, 4000 1## แทน 111, 194, 108 ช่วงของตัวอักษรหรื อตัวเลขที่อยูภ่ ายในวงเล็บ ตัวอย่าง [ABCDE] แทน A, B, C, D, E [A-C]* เช่น Ask, Bear, Casting [1-3]## เช่น 123, 245, 300 [A-C][12] เช่น A1, A2, B1, B2,C1,C2 ตัวอักษรหรื อตัวเลขที่อยูน่ อกเหนือจากที่ตามหลังเครื่ องหมาย ! ตัวอย่าง !W* แทน อะไรก็ได้ที่ไม่ข้ นึ ต้นด้วย “ แทน ตัวอักษรอะไรก็ได้ที่ไม่ใช่ A, B, C ตาราง แสดง เครื่ องหมาย Wildcard
กฎเกณฑ์ การเปรียบเทียบข้ อมูลแบบตัวเลข ในการเปรี ยบเทียบข้อมูลแบบตัวเลข นอกเหนือจากการหาค่าที่ตรงกับค่าทีก่ าหนดใน กฎเกณฑ์ ท่านอาจต้องการเปรี ยบเทียบค่าที่เป็ นตัวเลขว่ามากกว่าหรื อน้อยกว่าค่าวรรคที่ต้งั ไว้ การเปรี ยบเทียบจะใช้เครื่ องหมายที่เรี ยกว่าโอเปอเรเตอร์เป็ นเงื่อนไขในการเปรี ยบเทียบเครื่ องหมาย เปรี ยบเทียบมีดงั ต่อไปนี้ < น้อยกว่า <= น้อยกว่าหรื อเท่ากับ > มากกว่า >= มากกว่าหรื อเท่ากับ = เท่ากับ <> ไม่เท่ากับ
โอเปอเรเตอร์ Between และ And
85 การเปรี ยบเทียบข้อมูลแบบตัวเลขหรื อวันที่ สามารถเปรี ยบเทียบค่าที่เป็ นช่วงได้โดยการใช้ โอเปอเรเตอร์ Between และ And เช่ นกาหนดนิ พจน์ว่า Between 3 And 7จะเลื อกข้อ มูลที่มีค่าอยู่ ระหว่าง 3 ถึง 7
การใช้ ชื่อเขตข้ อมูลเป็ นส่ วนหนึ่งของกฎเกณฑ์ บางครั้งท่านต้องการให้กฎเกณฑ์เปรี ยบเทียบค่าของเขตข้อ มูลหนึ่ งกับของอี กเขตข้อมู ล หนึ่ง การอ้างถึงเขตข้อมูลให้ใช้เครื่ องหมายวงเล็บ [ ] ล้อมรอบเขตข้อมูล [ชื่อเขตข้ อมูล] สมมติว่าเรามีตารางประกอบด้วยเขตข้อ มูล ของรายได้ (Income) และรายจ่าย (Outcome) ถ้าเราต้องการดู เฉพาะระเบียนในส่ วนที่ขาดทุนคือ รายจ่ายมากกว่ารายได้ ย่อ มสามารถทาได้โดย ก าหนดสร้ า ง Query และก าหนดกฎเกณฑ์ ใ นเขตข้อ มู ล Outcome ว่ า >[Income] ซึ่ งจะได้ผ ล เหมือนกัน
การกาหนดกฎเกณฑ์ โดยใช้ สูตรทางคณิตศาสตร์ นอกจากการกาหนดกฎเกณฑ์โดยใช้ค่าคงที่หรื อ เขตข้อ มูล ยังสามารถใช้เครื่ อ งหมาย ทางคณิ ตศาสตร์ต่างๆ ได้อีกด้วย เครื่ องหมายทางคณิ ตศาสตร์ที่ใช้ได้มีดงั ต่อไปนี้ + * \ / ^ mod ()
การบวก การลบ การคูณ การหาร (ได้ค่าผลลัพธ์เป็ นตัวเลขแบบมีทศนิยม) การหาร (ได้ค่าผลลัพธ์เป็ นจานวนเต็ม) การยกกาลัง หาค่าเศษที่เหลือจากการหาร จัดลาดับการคานวณ
ตัวอย่ าง เช่นเราต้องการดูระเบียนที่มีเกรดมากกว่า 2 กฎเกณฑ์ที่เขียนขึ้นจะต้องเป็ น >2
86 ลาดับการทางานของโอเปอเรเตอร์ เมื่อท่านรวมเอาโอเปอเรเตอร์หลาย ๆ ตัวเข้าไว้ดว้ ยกันมันจะมีลาดับการทางานที่แตกต่าง กันโดยมีการทางานเรี ยงลาดับดังต่อไปนี้ () วงเล็บ ^ ยกกาลัง เครื่ องหมายลบ * เครื่ องหมายคูณ / เครื่ องหมายหาร \ เครื่ องหมายหารสาหรับค่าจานวนเต็ม mod หาค่าส่วนที่เหลือจากการหาร + และ เครื่ องหมายในการบวกและลบ & เครื่ องหมายในการเชื่อมนาพจน์ 2 นิพจน์เข้าด้วยกัน โอเปอเรเตอร์ สาหรับค่ าทางตรรกะ ค่าทางตรรกะใช้เพื่อหาค่าความเป็ นจริ งหรื อเท็จที่เกิดจากข้อมูลทางตรรกะสองชุดซึ่ งมีค่า เป็ นจริ งหรื อ เท็จมารวมกันโดยใช้โอเปอเรเตอร์ เป็ นตัวเชื่อ มเพื่อหาระเบียนที่ตรงตามเงื่อนไขทั้ง สอง
โอเปอเรเตอร์ ทางตรรกะมีหน้ าทีด่ งั ต่ อไปนี้ And Eqv Or Xor Not
เลือกระเบียนเมื่อเงื่อนไขนิพจน์ท้งั สองเป็ นจริ ง ไม่เลือกเมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็ นเท็จ เลือกระเบียนเมื่อเงื่อนไขทั้งสองเป็ นจริ งหรื อเป็ นเท็จทั้งคู่ ไม่เลือกเมื่อเงื่อนไขทั้งสองมีค่าไม่เหมือนกัน เลือกระเบียนเมื่อเงื่อนไขใดเงื่อนไขหนึ่งหรื อทั้งสองเงื่อนไขเป็ นจริ ง ไม่เลือกเมื่อเงื่อนไขทั้งสองเป็ นเท็จ เลือกเมื่อมีเพียงเงื่อนไขที่เป็ นจริ งอันเดียว ไม่เลือกเมื่อเงื่อนไขทั้งสองเป็ นเท็จหรื อเป็ นจริ งทั้งคู่ ให้กลับผลเงื่อนไขเป็ นตรงกันข้าม
87
การใช้ ฟังก์ชันภายในของ Access เป็ นเงือ่ นไข ท่านสามารถใช้ฟังก์ชนั ภายในของ Access เพื่อสร้างเป็ นเงื่อนไขสาหรับคัดเลือกข้อมูลได้ ใน Access มีฟังก์ชนั ภายในให้เลือ กใช้มากมายทั้งทางคณิ ตศาสตร์ ตัวอย่าง เช่น ฐานข้อมูลของ ห้องสมุดที่บนั ทึกการยืมและคืนหนังสื อ ในฐานะผูด้ ูแลต้องการหาเรคอร์ ดหนังสื อ ที่ถูกยืมไป และยังไม่คืนเมื่อเลยเวลาที่กาหนดสมมติวา่ 1 เดือน การกาหนดเงื่อนไขในเขตข้อมูลของวันยืมว่า >date-()-30 คาว่า date() เป็ นฟั งก์ชนั ภายในของ Access ใช้หาค่าวันที่ของระบบคอมพิวเตอร์หากท่าน ตั้งค่าวันที่ของระบบเป็ นวันที่ปัจจุบนั ฟังก์ชนั นี้จะให้ค่าเป็ นวันที่ปัจจุบนั และระเบียนที่ถูกเลือกคือ ระเบียนที่ยอ้ นหลังไป 30 วัน
กฎเกณฑ์ สาหรับค่ าว่ าง บางครั้งเราอาจต้อ งการให้ Query แสดงระเบียนที่มีค่าว่าง ย่อ มสามารถกระทาได้ ค่าว่าง ใน Access จะใช้คาแทนว่า Null การกาหนดนิ พจน์สาหรับแสดงค่าว่างจะใช้ร่วมกับโอเปอเรเตอร์ Is โดยมีรูปแบบการใช้งานดังนี้ Is [NOT] Null ถ้าต้องการให้แสดงเฉพาะระเบียนที่มีค่าบรรจุไว้ให้ใช้โอเปอเรเตอร์ Not ร่ วมด้วย
กฎเกณฑ์ ทซี่ ับซ้ อน ในการเลือกข้อมูล บางครั้งต้องการข้อมู ลที่มีลกั ษณะเฉพาะในหลายด้าน เงื่อนไขที่ใช้ คัดเลือกข้อมูลจะมีความซับซ้อน การกาหนดนิพจน์เพียงอันเดียวในการคัดเลือกข้อมูลย่อมไม่ เพียงพอ Access สามารถกาหนดนิ พจน์เงื่อ นไขให้แก่ Query ได้หลายอันพร้อ มกัน ใน QBE grid สามารถก าหนดกฎเกณฑ์ในการเลื อ กข้อ มู ล ลงในแถวของ Criteria ในแต่ ละเขตข้อ มู ล และใน คอลัมน์ของเขตข้อมูลหนึ่งสามารถมีนิพจน์ การกาหนดนิพจน์หลายนิพจน์ลงในแถว Or ที่จากแถว Criteria และต่อลงไปเรื่ อย
กฎเกณฑ์ ในการอ่านนิพจน์ เงื่อนไข Query มีหลักเกณฑ์ ดงั นี้ ถ้านิพจน์เงื่อนไขของแต่ละเขตข้อมูลอยูใ่ นแถวเดียวกัน กฎเกณฑ์ในการเลือกข้อมูลจะ ใช้แบบทางตรรกะว่าและ (And) นัน่ คือระเบียนที่ถูกเลือกจะต้องเป็ นจริ งตามเงื่อนไข ทั้งสอง ถ้านิพจน์เงื่อนไขอยูค่ นละแถว กฎเกณฑ์ในการเลือกข้อมูลจะใช้แบบทางตรรกะว่า หรื อ (Or) นัน่ คือระเบียนที่ถูกเลือกจะเป็ นจริ งตามเงื่อนไขหนึ่งก็พอ
88
การเปลีย่ นเขตข้ อมูลใน Query ในมุมมอง Design เราสามารถจะเพิม่ หรื อลดเขตข้อมูลที่ใช้ใน Query ได้ หรื อใช้เขตข้อมูล ใด ๆ จาก Table อื่นในฐานข้อมูลเดียวกันก็ได้ ในบางกรณี ตอ้ งการที่จะซ่อนเขตข้อมูลไม่ให้เห็นใน ผลที่ได้จาก Query แต่ยงั คงให้เป็ นส่วนหนึ่งของ Query นั้นอยู่ เช่น สร้าง Query เพือ่ แสดงข้อมูลใน California โดยที่ไม่ตอ้ งแสดงเขตข้อมูลในผลลัพธ์ก็ได้ (แต่จาเป็ นต้องมี เขตข้อมูลที่ซ่อนอยูด่ ว้ ย เพราะต้องใช้ในการกาหนดเงื่อนไข)
การเพิม่ เขตข้ อมูลใน Query เปิ ด Query ในมุมมอง Design ดับเบิลคลิกชื่อของเขตข้อมูลที่แสดงรายชื่ออยูใ่ นวินโดว์ดา้ นบนซึ่งเขตข้อมูลนี้จะไป ต่อท้ายเขตข้อมูลทีม่ ีอยูเ่ ดิมใน Design grid ซึ่งเป็ นตารางที่อยูด่ า้ นล่างของจอ หรื อจะ คลิกลากเขตข้อมูลไปปล่อยยังคอลัมน์ต่างๆ ใน Design grid เองก็ได้
เลือกเขตข้ อมูลที่ ต้ องการเพิม่
89
การลบเขตข้ อมูลออกจาก Query เปิ ด Query ในมุมมอง Design เลือกเขตข้อมูลโดยคลิกที่ Column selector เมื่อสีพ้นื ของเขตข้อมูลนั้นเปลี่ยนเป็ นสี ดา ให้กดปุ่ ม Delete การลบเขตข้อมูลนี้เป็ นการลบเขตข้อมูลทีน่ ามาใช้ใน Query เท่านั้น ไม่ใช่เป็ นการลบเขตข้อมูลออกจาก Table จริ ง กดปุ่ ม Delete เพื่อลบเขตข้ อมูลที่ เลือก
เพิม่ เขตข้ อมูลใน Query จาก Table อืน่ 1. เปิ ด Query ในมุมมองออกแบบ เลือกคลิกที่ปมุ่ เพื่อแสดงตาราง
90 2. เลือก Table ที่มีเขตข้อมูลที่ตอ้ งการ
เลือกตารางที่จะใช้ เขตข้ อมูล
คลิกที่ปมุ่ เพิ่ม เพื่อแทรกตาราง
3. 4. 5. 6.
คลิก Add (เพิม่ ) ทาซ้ าข้อ 3 และ 4 จนกว่าจะครบทุก Table ที่ตอ้ งการ คลิก Close(ปิ ด) ดับเบิลคลิก หรื อคลิกลากเขตข้อมูลที่ตอ้ งการจากรายชื่อเขตข้อมูลใน Table ต่างๆ ทาง ด้านบนไปไว้ที่ Design grid ซึ่งเป็ นตารางที่อยูด่ า้ นล่างของจอภาพ
91
การดึงเฉพาะระเบียนที่ต้องการ ในแต่ละเขตข้อ มู ล ที่เลื อ กมาสร้าง Query นั้น สามารถที่จะเพิ่มเงื่อนไขเพื่อ ดึ งเอาเฉพาะ ระเบียนที่มีคุณสมบัติตรงกับเงื่อนไขเท่านั้น ในกรณี เช่นนี้ จะแสดงผลเฉพาะเฉพาะที่เรากาหนด เท่านั้น หรื อเราอาจสร้าง Parameter Query ขึ้นมา เพื่อรอให้ กรอกข้อมูลหรื อเงื่อนไขลงไปในแต่ ละครั้งที่สงั่ ให้ Query ทางานก็ได้
การระบุเงือ่ นไข Query 1. เปิ ด Query ในมุมมอง Design 2. คลิกช่องCriteria ในเขตข้อมูลที่ตอ้ งการกาหนดเงื่อนไข 3. ใส่เงือ่ นไขลงไปในช่อง
ระบุเงื่อนไข “>5”
92 ข้อมูลแสดงคะแนน point1_en ทั้งหมด
ข้อมูลแสดงคะแนน point1_en ตามเงื่อนไขที่กาหนด
>5
แสดงตาราง Query ระบุเงื่อนไขตามที่กาหนด
93
การขยายเงือ่ นไขโดยใช้ เงื่อนไข OR เป็ นการกาหนดเงื่อนไขในการแสดงข้อมูล โดยใช้เงื่อนไขการเปรี ยบเทียบ Or คือจะ แสดงเมื่อเงื่อนไขที่กาหนดเป็ นจริ งเท่านั้น วิธีการกาหนดเงื่อนไข Or มีข้นั ตอนดังนี้ 1. เปิ ด Query ในมุมมอง Design 2. ใส่เงื่อนไขที่ตอ้ งการลงในแถว Criteria 3. ใส่เงื่อนไขเพิม่ เติมลงในแถว “or” ในเขตข้อมูลเดิม
ระบุเงื่อนไข or คือเลือกเอาอย่างอย่างใดอย่าง หนึ่งเมื่อเงื่อนไขเป็ นจริง
เมื่อสิ้นสุดการระบุเงื่อนไข ให้เลือกเข้าไปในส่วนของมุมมองแผ่นงานของ Query เพือ่ ดู ผลลัพธ์ที่ได้ ดังรู ป ข้อมูลแสดงคะแนน point1_en ทั้งหมด
ข้อมูลแสดงคะแนน point1_en ตามเงื่อนไขที่กาหนด
<5 or >15
94
การใช้ เงือ่ นไขแบบ AND 1. เปิ ด Query ในมุมมอง Design 2. ใส่ค่าหรื อเงื่อนไขแรกที่ตอ้ งการลงในแถว Criteria 3. ในแถวเดียวกันนั้นให้ใส่ เงื่อนไขที่ตอ้ งการเพิม่ ลงในเขตข้อมูลอื่น
ระบุเงื่อนไข และ (AND) เมื่อเงื่อนไขเป็ นจริงทังคู ้ ่
เมื่อระบุเงื่อนไขเสร็จแล้วให้ไปที่มุมมองแผ่นงานของ Query ดังรู ป ข้อมูลแสดงคะแนน point1_en และ point1_ma ทั้งหมด
ข้อมูลแสดงคะแนน point1_en
<5
และ point1_ma
เพือ่ ดูผลลัพธ์ที่ได้
<5 ตามเงื่อนไขที่กาหนด and
95
การสร้ าง Parameter Query เพือ่ ให้ ถามเงือ่ นไขขณะทางาน 1. เปิ ด Query ในมุมมอง Design 2. คลิกช่อง Criteria ของเขตข้อมูลที่ตอ้ งการให้ถามแล้วใส่เงื่อนไข 3. ใส่ขอ้ ความที่จะเป็ นคาถามให้แสดงบนจอภายในเครื่ องหมายวงเล็บก้ามปู ([ ])
ข้ อความที่จะเป็ นคาถามให้ แสดงบนจอภายในเครื่ องหมาย วงเล็บก้ ามปู ตัวอย่าง [กรุณาใส่ คะแนนที่ต้องการ]
4. คลิกปุ่ ม Run
บนแถบเครื่ องมือ Query Design เพือ่ ให้ Query ทางาน
คลิกปุ่ ม ตกลง
5. ใส่เงื่อนไขที่ตอ้ งการสาหรับการทางานเฉพาะครั้งนั้น เช่น 400 6. คลิก OK
เมื่อสิ้นสุดคาสัง่ จะปรากฏผลลัพธ์ดงั รู ป
96
การเปรียบเทียบค่ าในเงือ่ นไข Expression Builder ใช้ช่วยในการเปรี ยบเทียบค่าต่างๆ โดยการใช้เครื่ องหมายเปรี ยบเทียบ ทาให้สามารถกาหนดช่วงหรื อขอบเขตของค่าที่ตอ้ งการลงในเงื่อนไขได้การปรับแต่ง Query โดยใช้ Expression Builder ท าได้ด้ว ยการคลิ ก ปุ่ มเครื่ อ งหมายที่ ต ้อ งการ ตัว อย่า งเช่ น ใช้เครื่ อ งหมาย เปรี ยบเทียบในการเลื อ กระเบียนที่ อ ยู่ในท านองเดี ยวกัน ก็ส ามารถจะใช้นิพ จน์ ทางตรรกศาสตร์ (Logical Expression) ในเงื่อนไขเพื่อเลือกระเบียนที่ไม่ ตอ้ งการได้ เมื่ อสั่งให้ Query ทางาน Access จะทาการเปรี ยบเทียบตามที่ตอ้ งการแล้วแสดงผลลัพธ์ออกมา
การใส่ นิพจน์ เปรียบเทียบ 1. เปิ ดดู Query ในมุมมอง Design 2. คลิกช่อง Criteria ในเขตข้อมูลที่ตอ้ งการสร้างนิพจน์ 3. นาเมาส์มาชี้ยงั ช่อง Criteria ในเขตข้อมูลที่ตอ้ งการสร้างนิพจน์ จากนั้นคลิกเมาส์ปุ่มขวา จะปรากฏไดอะล็อคบ็อกซ์ของคาสัง่ ดังรู ป 4. คลิกเมาส์เลือกคาสัง่ สร้ าง… จะปรากฏไดอะล็อคบ็อกซ์ของการสร้าง Query Wizard
97 5. คลิกปุ่ มเครื่ องหมายเปรี ยบเทียบที่ตอ้ งการ หรื อคลิ กโฟลเดอร์ Operators ในช่อ ง สี่ เหลี่ ยมที่ อ ยู่ด้านล่ าง แล้วคลิ ก Operators ในช่ อ งสี่ เหลี่ ยมที่ อ ยู่ด้านล่ าง แล้วคลิ ก Comparison ในช่ อ งถั ด ไปเพื่ อ ดู เครื่ อ งหมายเปรี ย บเที ย บอื่ น ๆ จากนั้ นก็ เลื อ ก เครื่ องหมายที่ตอ้ งการจากรายชื่อที่ปรากฏในช่องทางด้านขวา ใส่คา่ หรื อคลิกเขตข้ อมูลที่ต้องการจะเปรี ยบเทียบค่า
คลิกเมาส์เพื่อตอบ ตกลง
6. ใส่ค่า หรื อคลิกเขตข้อมูลที่ตอ้ งการจะเปรี ยบเทียบค่า จากนั้นคลิกที่ปมตกลง ุ่ แนะนา การใส่ ข้อความลงในนิพจน์ ของคุณ เวลาใส่ ข้อความลงในเขตข้ อมูลที่เป็ นข้ อความ (ข้ อมูล ที่ไม่ใช่ ตัวเลขและวันที่) คุณต้ องใส่ เครื่ องหมายคาพูดคร่ อมข้ อความนั้นด้ วย การปรั บแต่ งเงื่อนไข ในการปรั บแต่ งเงื่อนไข คุณอาจใช้ เครื่ องหมายเปรี ยบเทียบและ เครื่ องหมายตรรกศาสาตร์ ร่วมกันในนิพจน์ เดียวกันก็ได้
98
การใส่ นิพจน์ ตรรกะศาสตร์ 1. เปิ ด Query ในมุมมอง Design 2. เลือกเขตข้อมูลที่จะใส่เงื่อนไข
คลิกเมาส์ปมขวาจากนั ุ่ นเลื ้ อกเมนู สร้ าง
เลื่อนเมาส์ ไปคลิกเลือก เขตข้ อมูลที่ต้องการ
จะปรากฏไดอะล็อคบ็อกซ์ของการกาหนดเงื่อนไขดังรู ป เลื่อนเมาส์ไปคลิกที่ ปุ่ มตกลง (OK)
เลื่อนเมาส์ไปคลิกที่นิพจน์ที่ต้องการกาหนด เงื่อนไข จากนันท ้ าการใส่ค่าที่ช่องใส่คา่
เลื่อนเมาส์ ไปคลิกที่เครื่ องหมายตรรกศาสตร์ เครื่ องหมายใดเครื่ องหมายหนึ่งที่ต้องการ หรื อคลิกที่โฟลเดอร์ Operators แล้ วคลิกที่ คาสัง่ Logical
99 ถ้าเราทาการกาหนดเงื่อนไขเรี ยบร้อยแล้วจะปรากฏดังรู ปภาพ ซึ่งจากตัวอย่างเป็ นการ กาหนดเงื่อนไขเป็ น Not 20 ที่ช่องเงื่อนไขจะปรากฏเงื่อนไขที่ช่องเขตข้อมูลที่เราต้องการ
เมื่อสิ้นสุดคาสัง่ จะปรากฏผลลัพธ์ดงั รู ป