การค้นหาและสอบถามข้อมูลด้วย Query ช่วยให้เราเข้าถึงข้อมูลที่เก็บอยู่ในตารางได้อย่างรวดเร็วและตรงเป้าหมาย โดยกำหนดเงื่อนไขสำหรับข้อมูลที่ต้องการและเลือกรูปแบบแสดงผลข้อมูลได้ ซึ่งผลลัพธ์ที่ได้จากการสอบถามข้อมูลจาก Query สามารถนำไปใช้งานหรือเป็นแหล่งข้อมูลเหมือนกับตาราง เพื่อนำไปสร้าง Form และ Report ได้ตามความต้องการ
วิธีที่ 1 สร้างในมุมมอง Design (ออกแบบแบบสอบถาม)
วิธีที่ 2 สร้างจากปุ่ม Query Wizard (ตัวช่วยสร้างแบบสอบถาม)
วิธีที่ 3 สร้างในมุมมอง SQL (Structured Query Language)
การสร้าง Query จากมุมมอง Design เริ่มต้นจะเป็น Query แบบ Select ซึ่งสามารถกำหนดคุณสมบัติต่างๆ ให้กับ Query ได้อย่างอิสระและยืดหยุ่น เช่น เลือกที่จะเพิ่มหรือยกเลิกตารางข้อมูลที่จะนำมาค้นหา เลือกตารางที่สัมพันธ์กัน เลือกหรือยกเลิกรายการฟิลด์ที่ใช้แสดงผลลัพธ์ จัดเรียงข้อมูลในฟิลด์ที่ต้องการได้ และที่สำคัญคือการกำหนดเงื่อนไขที่จะใช้ค้นหาข้อมูลที่ต้องการได้หลากหลายรูปแบบ ดังนี้
ในมุมมองออกแบบของ Query จะมีส่วนประกอบหลักอยู่ 2 ส่วน คือ
- พื้นที่ส่วนบน เป็นส่วนของตาราง จะบอกถึงตารางที่ใช้กับ Query นี้ ใน Query อันหนึ่งสามารถใช้กับตารางได้หลายตาราง และสามารถกำหนดความสัมพันธ์ระหว่างตารางได้ ตารางที่มีความสัมพันธ์กันจะมีเส้นเชื่อมต่อลากโยงระหว่างฟิลด์ที่ตรงกันของตาราง
- พื้นที่ส่วนล่างหรือเรียกว่า OBE Grid เป็นส่วนที่ใช้กำหนดกฎเกณฑ์ในการเลือกและวิธีแสดงข้อมูล
ประกอบด้วยหัวข้อต่างๆ ที่ใช้กำหนดฟิลด์และเงื่อนไขที่ต้องการสอบถามข้อมูล ดังนี้
- เขตข้อมูล (Field) ใช้เลือกฟิลด์จากตารางที่ใช้ในการแสดงผล
- ตาราง (Table) ใช้เลือกหรือแสดงชื่อตาราง / คิวรี่
- เรียงลำดับ (Sort) ใช้เลือกการจัดเรียงข้อมูลแบบจากน้อยไปมาก (Ascending), จากมากไปน้อย
(Descending) และไม่เรียงลำดับ (Not sorted)
- แสดง (Show) ใช้คลิกเลือกให้แสดง / ไม่แสดงข้อมูลในฟิลด์
- เกณฑ์ (Criteria) ช่องให้กรอกเงื่อนไขที่ใช้ในการสอบถามหรือค้นหาข้อมูล
- หรือ (Or) ใช้ระบุเงื่อนไขทางเลือกแบบ “หรือ” เพิ่มจากเงื่อนไขในหัวข้อ เกณฑ์ (Criteria)
การเลือกฟิลด์จากตารางที่นำเข้ามาใน Query เพื่อเลือกว่าจะใช้ฟิลด์ใดแสดงผลในตารางผลลัพธ์ หรือฟิลด์ที่จะใช้กำหนดเงื่อนไขการค้นหาเร็คคอร์ด ซึ่งจะเรียกว่าเป็น Select Query ทำได้ดังนี้
การเลือกฟิลด์จากตารางที่นำเข้ามาใน Query เพื่อเลือกว่าจะใช้ฟิลด์ใดแสดงผลในตารางผลลัพธ์ หรือฟิลด์ที่จะใช้กำหนดเงื่อนไขการค้นหาเร็คคอร์ด ซึ่งจะเรียกว่าเป็น Select Query ทำได้ดังนี้
การเพิ่มตารางเข้ามาใน Query Design ให้คลิกปุ่ม แสดงตาราง (Show Table) จากนั้นก็เลือกตารางได้เหมือนตอนสร้างครั้งแรก
หากตารางที่เพิ่มเข้ามาได้กำหนดความสัมพันธ์ระหว่างตารางเอาไว้แล้ว เมื่อเลือกเพิ่มตารางเข้ามาก็จะมีเส้นแสดงความสัมพันธ์ (Relationship) ระหว่างตารางขึ้นมาให้โดยอัตโนมัติ
วิธีการยกเลิกตารางออกจาก Query Design ทำได้ง่ายๆ คือ คลิกเลือกตารางแล้วกดปุ่ม Delete บนแป้นพิมพ์ หรือคลิกขวาที่ตารางแล้ว แล้วคลิกเลือก เอาตารางออก
ในตารางแสดงผลลัพธ์การค้นหาของ Query หากต้องการให้ดูเป็นระเบียบ ดูข้อมูลง่าย ก็สามารถเลือกให้จัดเรียงข้อมูลในฟิลด์ที่เป็นคีย์สำคัญได้ ซึ่งจะได้ 2 แบบ คือ
- จากน้อยไปหามาก (Ascending) เรียงข้อมูลจาก A-Z, a-z, ก-ฮ, 0-9
- จากมากไปหาน้อย (Descending) เรียงข้อมูลจาก Z-A, z-a, ฮ-ก, 9-0
เป็นวิธีการสร้าง Query ที่ทำได้ง่ายและรวดเร็ว ซึ่งจะได้แบบสอบถามพื้นฐาน หลังจากนั้นก็สามารถนำไปแก้ไขหรือเปลี่ยนแปลงลักษณะของแบบสอบถามให้เป็นแบบอื่นได้ตามต้องการ ทำได้ดังนี้
ประเภทของ Query ที่มีให้เลือกสร้างในขั้นตอนที่ 3 มีดังนี้
- Simple Query Wizard (ตัวช่วยสร้างคิวรี่อย่างง่าย) ใช้สร้าง Select Query เพื่อค้นหาข้อมูลตามเงื่อนไข โดยเลือกแสดงผลลัพธ์ในรูปแบบของรายละเอียดข้อมูลหรือสรุปผล หรือใช้รวมข้อมูลจากหลายๆ ตาราง
- Crosstab Query Wizard (ตัวช่วยสร้างคิวรี่แบบตาราง) ใช้สร้างรายการสรุปข้อมูลจากตาราง โดยแสดงผลออกมาเป็นรายงานสรุปที่แสดงแบบสลับในแนวแถวและแนวคอลัมน์
- Find Duplicate Query Wizard (ตัวช่วยสร้างคิวรี่เพื่อค้นหารายการที่ซ้ำ) ใช้สร้าง Select Query สำหรับค้นหาเร็คคอร์ดใดที่มีค่าซ้ำกันในฟิลด์ที่ระบุจากตาราง หรือ Query
- Find Unmathed Query Wizard (ตัวช่วยสร้างคิวรี่การค้นหาข้อมูลที่ไม่ตรงกัน) ใช้สร้าง Select Query เพื่อค้นหาข้อมูลของ 2 ตาราง ที่กำหนดความสัมพันธ์กันไว้ โดยจะแสดงข้อมูลในเร็คคอร์ดที่ไม่ตรงกันจากทั้ง 2 ตาราง\
การสร้าง Query เพื่อค้นหาว่ามีเร็คคอร์ดใดในตารางที่มีข้อมูลซ้ำกัน หากต้องการนำไปเปรียบเทียบข้อมูลจากหลายๆ ตาราง ให้สร้างเป็น Select Query พื้นฐานเพื่อเลือกฟิลด์จากทั้งสองตารางก่อน จากนั้นก็สร้าง Query ที่ค้นหาข้อมูลซ้ำโดยเลือก Query พื้นฐานมาเป็นแหล่งข้อมูลเพื่อหาข้อมูลที่ซ้ำกันได้ ดังนี้
การค้นหาข้อมูลที่ไม่ตรงกัน เราจะเลือก Query แบบ Find Unmatched Query Wizard (ตัวช่วยสร้างแบบสอบถามการค้นหาข้อมูลที่ไม่ตรงกัน) เป็นแบบสอบถามที่นำข้อมูลในฟิลด์ของ 2 ตารางที่เลือกมาเปรียบเทียบว่าตรงกันหรือไม่ โดยจะแสดงเร็คคอร์ดที่ไม่ตรงกันมาแสดงเป็นผลลัพธ์
การเพิ่มฟิลด์หรือเขตข้อมูลจากตารางมาใส่ใน Query เพื่อเลือกว่าจะใช้ฟิลด์ใดแสดงผลในตารางผลลัพธ์ ทำได้ดังนี้
การเลือกฟิลด์จากตารางมาแสดงในพื้นที่ส่วนล่าง (OBE Grid) แล้วนั้น หากฟิลด์นั้นไม่ได้ใช้งานก็สามารถยกเลิกฟิลด์นั้นออกไปจากพื้นที่ออกแบบได้ โดยคลิกเลือกคอลัมน์ฟิลด์แล้วกดปุ่ม Delete ที่แป้นพิมพ์
การเพิ่มตารางเข้ามาใน Query ให้อยู่ในมุมมอง ออกแบบ (Design) ก่อน แล้วให้คลิกปุ่ม แสดงตาราง (Show Table) จากนั้นก็เลือกตารางได้เหมือนตอนสร้างครั้งแรก
หากตารางที่เพิ่มเข้ามาได้กำหนดความสัมพันธ์ระหว่างตารางเอาไว้แล้ว เมื่อเลือกเพิ่มตารางเข้ามาก็จะมีเส้นแสดงความสัมพันธ์ (Relationship) ระหว่างตารางขึ้นมาให้โดยอัตโนมัติ
วิธีการยกเลิกตารางออกจาก Query ทำได้ง่ายๆ คือ ให้อยู่ในมุมมอง ออกแบบ (Design) ก่อน แล้วคลิกเลือกตารางที่ต้องการ จากนั้นให้กดปุ่ม Delete บนแป้นพิมพ์ หรืออีกวิธีหนึ่งคือ ให้คลิกขวาที่ตาราง แล้วคลิกเลือก เอาตารางออก
การสอบถามหรือสืบค้นข้อมูลใน Query สามารถกำหนดเงื่อนไขในการค้นหาข้อมูลที่ต้องการได้หลายรูปแบบ ตั้งแต่การใส่เงื่อนไขพื้นฐานทั่วไป เช่น มากกว่า น้อยกว่า เท่ากับ หรือไม่เท่ากับ ไปจนถึงการค้นหาขั้นสูง เช่น การกำหนดเงื่อนไขหลายๆ เงื่อนไขซ้อนกัน และการเชื่อมหลายๆ เงื่อนไขเข้าด้วยกัน เป็นต้น ซึ่งการกำหนดเงื่อนไขนั้น เราจะใส่ไว้ในช่อง เกณฑ์ (Criteria) และช่อง หรือ (Or) ดังนี้
การสร้างเงื่อนไขและนิพจน์ที่มากกว่า 1 เงื่อนไข จะประกอบด้วย 2 ส่วนคือ ตัวดำเนินการ (Operator) และตัวถูกดำเนินการ (Operand) โดยตัวถูกดำเนินการอาจเป็นตัวแปร ค่าคงที่ และฟังก์ชัน ส่วนตัวดำเนินการคือเครื่องหมายหรือสัญลักษณ์ที่ใช้ในการคำนวณทางคณิตศาสตร์ เปรียบเทียบค่า และตรวจสอบค่าตรรกะ
การอ้างฟิลด์ทั่วไปคือ [product_name] หรือถ้าจะคำนวณก็เป็น [จำนวน]*[ราคา] ถ้าจะอ้างถึงชื่อฟิลด์ที่ซ้ำกันมากกว่า 1 ตาราง จะต้องบอกชื่อตารางก่อนแล้วตามด้วยเครื่องหมาย ! หรือ . และชื่อฟิลด์ในเครื่องหมาย [] เช่น [products]![price] หรือ [orders].[price] หรือตั้งชื่อฟิลด์ เช่น Total:[ราคาขาย]*[จำนวน] เป็นต้น
การกำหนดเงื่อนไขตั้งแต่ 2 เงื่อนไขขึ้นไป และต้องการให้ทั้งสองเงื่อนไขเป็นจริงทั้งคู่ เราเรียกว่า การกำหนดเงื่อนไขแบบ And โดยปกติสามารถใส่เงื่อนไขลงไปในแถวเดียวกันของช่อง เกณฑ์ (Criteria) ได้เลย แต่อาจเป็นคนละฟิลด์กัน เช่น ค้นหาพนักงานแผนกการตลาดที่มีเงินเดือนต่ำกว่า 16,000 บาท
การกำหนดเงื่อนไขตั้งแต่ 2 เงื่อนไขขึ้นไป แบบมีตัวเลือกต้องการให้เงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง เราเรียกว่า การกำหนดเงื่อนไขแบบ Or เช่น ค้นหาชื่อสินค้าที่ขึ้นต้นด้วยคำว่า “คอม” หรือ “กล้อง”
นอกจากการกำหนดเงื่อนไขแบบ And และ Or แล้ว เรายังสามารถนำเอาเงื่อนไขทั้ง 2 แบบมาใช้งานร่วมกันได้ ในกรณีที่มีเงื่อนไขในการค้นหาที่ซับซ้อนมากกว่า 2 เงื่อนไข ก็ใช้ And และ Or ร่วมกัน เช่น ค้นหาชื่อสินค้าที่ขึ้นต้นด้วยคำว่า “คอม” หรือ “กล้อง” ที่มีราคาขาย 20,000 บาทขึ้นไป
ใช้ในกรณีที่ต้องการค้นหาข้อมูลในช่วงหนึ่ง เช่น ค้นหายอดขายราคาสินค้ารวมระหว่าง 15,000 ถึง 20,000 บาท ว่ามีรายการใดบ้าง
|