ระบบฐานข้อมูล ใน Microsoft Access
แบบสอบถาม (Query) เป็นเครื่องมือ (Object) ที่ใช้ในการทำงานในรูปแบบต่างๆ กับข้อมูลในตาราง เช่น การคัดเลือกข้อมูลจากตาราง, การสร้างตาราง, การปรับเปลี่ยนค่าของข้อมูลในตาราง และการลบข้อมูลจากตาราง
ประโยชน์ของ Query 1. แสดงข้อมูลที่ตรงกับเงื่อนไขที่กำหนด 2. กำหนดรูปแบบการแสดงผลของตาราง 3. แสดงข้อมูลในลำดับที่แตกต่างไปจากตาราง 4. แสดงข้อมูลจากหลายๆ ตารางในที่เดียวกัน 5. ปรับเปลี่ยนข้อมูลในตารางตามเงื่อนไขที่กำหนด
ประเภทของ Query 1. Select Query ใช้ในการเลือกข้อมูลจากตารางหนึ่ง หรือมากกว่า ตามเงื่อนไขที่กำหนด รวมทั้งเป็นพื้นฐานในการสร้าง Query ประเภทอื่นๆ 2. Crosstab-Query ใช้สร้างตารางสรุปการแจกแจงข้อมูลในตาราง 3. Parameter Query ใช้คัดเลือกข้อมูลจากตารางโดยใช้ Query เดิม และให้แสดงผลลัพธ์เปลี่ยนไปตามข้อมูลที่ระบุ 4. Action Query ใช้ในการจัดการค่าของข้อมูลในตาราง
Query ในกลุ่มของ Action Query 4.1 Make Table Query ใช้สร้างตารางใหม่จากข้อมูลที่คัดเลือกได้จาก Query 4.2 Append Query ใช้ในการนำข้อมูลที่คัดเลือกได้จาก Query เพิ่มเป็นระเบียนใหม่ต่อท้ายในตารางที่กำหนด 4.3 Update Query ใช้ปรับปรุงกลุ่มของข้อมูลให้มีค่าตามที่กำหนด 4.4 Delete Query ใช้ลบข้อมูลในตาราง ตามเงื่อนไขที่กำหนด
มุมมองของ Query 1. Design View มุมมองออกแบบใช้สำหรับสร้าง Query และระบุเงื่อนไขในการเลือกข้อมูล 2. Datasheet View มุมมองแผ่นข้อมูล ใช้แสดงข้อมูลตามเงื่อนไขที่กำหนด 3. มุมมอง SQL มีหน้าที่เหมือน Design View แต่จะแสดงในรูปของภาษา SQL (Structured Query Language)
การสร้าง Query 1. Query Wizard ใช้ระบบชำนาญการของ Access ช่วยในการสร้าง 2. Query Design ต้องกำหนดเงื่อนไขต่างๆ เองโดยไม่ใช้ Query Wizard ซึ่งกำหนดรายละเอียดได้มากกว่า
การสร้าง Query ด้วย Wizard เราสามารถเรียก Wizard ในการสร้าง Query โดยทำตามขั้นตอนดังนี้ 1. เลือกแท็บ Query 2. Click mouse 3. ปรากฏไดอะล็อกซ์ New Query Wizard 4 ประเภทที่ จะกล่าวถึง
การสร้าง Query ด้วย Simple Query Wizard ตัวอย่างสร้างจากตาราง TblProducts ที่มีโครงสร้างตารางดังรูป จะสอบถามว่าราคาสินค้าเฉลี่ยของสินค้าทั้งหมด รวมทั้งจำนวนสินค้าเป็นเท่าไร ซึ่งแสดงความหมายได้ดังรูป ตาราง TblProducts ProductID (PK) CategoryID ProductName UnitPrice VATFlag UnitInStock ราคาสินค้าเฉลี่ย= จำนวนสินค้า = 3 (48+20+10)/3 = 26
1. Click mouse 2.1 เลือก Sample Query Wizard 2.2 Click mouse 3.1 เลือกตาราง TblProducts 3.2 เลือกฟิลด์ UnitPrice 3.3 Click mouse
4.1 เลือก Summary 4.2 Click mouse 4.3 เลือก Avg สำหรับฟิลด์ UnitPrice 4.4 เช็คที่ตัวเลือกนี้ด้วย 4.5 Click mouse
5.1 ใส่ชื่อคิวรีที่สร้างลงไป 4.6 Click mouse 52 Click mouse 6. ผลลัพธ์ของคิวรีที่สร้าง จะคำนวณราคาสินค้าเฉลี่ยพร้อมทั้งนับจำนวนสินค้าทั้งหมดด้วย
แสดงการใช้ Sample Query Wizard สร้างคิวรีหาผลลัพธ์จากหลายๆ ตาราง ดังรูป N M 1 N ตาราง TblCustomers CustomerID(PK) CustomerName CustomerAddress ZipCode Telephone HomePageName ตาราง TblCategories CategoryID(PK) CategorylName CategoryDescription CategoryPicture ตาราง TblProducts ProductID (PK) CategoryID ProductName UnitPrice VATFlag UnitInStock หมายเหตุ การสร้างคิวรีจากตาราง หลายๆ ตารางนั้น เราจะต้องกำหนด ความสัมพันธ์ระหว่างตารางด้วย ไม่เช่นนั้น เราไม่สามารถสร้างคิวรีได้ และการสร้างคิวรีนั้นเราสามารถสร้าง จากคิวรีด้วยกันก้ได้ ไม่จำเป็นต้อง สร้างจากตารางเพียงอย่างเดียว
1. Click mouse 2.1 เลือก Sample Query Wizard 2.2 Click mouse 3.1 เลือกฟิลด์ CategoryName, ProductID และ CustomerName จากตาราง TblCategories, TblProduct และ TblCustomer ตามลำดับ 3.2 Click mouse
4.1 .ให้เลือก Detail เพื่อแสดงฟิลด์ทุกฟิลด์ของเรคอร์ดทั้งหมด 5.1 ใส่ชื่อของคิวรีลงไป 4.2 Click mouse 5.2 Click mouse 6. ผลลัพธ์ของคิวรีที่สร้าง จะเป็นการดึงข้อมูลฟิลด์ CategorName, ProductID และ CustomerName จาก ตาราง TblCategories, TblProduct และ TblCustomer มาแสดงผลตามลำดับ
การสร้างคิวรีด้วย Crosstab Query Wizard ดังรูป จำนวนสินค้าทั้งหมดที่สั่งซื้อสำหรับ สินค้าชนิดนั้น Crosstab Query แสดงจำนวน สินค้าแต่ละชนิดที่ลูกค้าสั่งซื้อ
1.Click mouse 3.1 เลือกคิวรีที่สร้างจากตัวอย่างก่อน 2.1 เลือก Crosstab Query Wizard 2.2 Click mouse 3.2 Click mouse
4.1 เลือกฟิลด์ CustomerName เป็นหัวแถว 5.1 เลือกฟิลด์ CategoryName เป็นหัวคอลัมน์ 4.2 Click mouse 5.2 Click mouse
6.1 เลือก ProductID 6.2 เลือก Count 7.1 ใส่ชื่อคิวรีที่สร้าง 6.3 Click mouse เช็ด ถ้าต้องการให้มีการนับ จำนวนสินค้ารวม สำหรับลูกค้าแต่ละราย 6.4 Click mouse 8. ผลลัพธ์ของคิวรีที่สร้าง จะแสดงข้อมูลว่า ลูกค้าแต่ละรายสั่งซื้อสินค้าแต่ละชนิดเป็น จำนวนเท่าไร 7.2 Click mouse
การสร้างคิวรีด้วย Find Duplicates Query Wizard จะเป็นวิซาร์ดที่สร้างคิวรี โดยการนำเรคอร์ดที่มีค่าฟิลด์ที่เราเลือกซ้ำกันมาแสดงในคิวรีผลลัพธ์ ดังรูป นำมาเฉพาะค่าฟิลด์ CustomerID เท่านั้น
ตัวอย่าง โดยใช้ตาราง TblOrder ที่มีโครงสร้างของตาราง ดังรูป ตาราง TblOrders OrderID (PK) CutomerID OrderDate ShippedDate คิวรีจะตรวจสอบค่าฟิลด์นี้ว่าซ้ำกันหรือไม่ แล้วนำเรคอร์ดที่มีค่าฟิลด์นี้ซ้ำกันมาอยู่ ในคิวรีผลลัพธ์ 1. Click mouse 2.1 เลือก Find Duplicates Query Wizard 2.2 Click mouse
3.1 เลือกตารางตั้งต้นเป็น TblOrders 4.1 เลือกฟิลด์ที่จะตรวจ ว่า ซ้ำกันหรือไม่เป็น CustomerID 3.2 Click mouse 4.2 Click mouse
5.1 เลือกฟิลด์ที่จะแสดงผลด้วยเป็น TblOrderID OrderDate และ ShippedDate 6.1 ใส่ชื่อคิวรีที่สร้าง 5.2 Click mouse 6.2 Click mouse 7. ผลลัพธ์ของคิวรีที่สร้าง จะเป็นการหาว่า มีลูกค้ารายใดที่สั่งซื้อสินค้ามากกว่า 1 ครั้ง
การสร้างคิวรีด้วย Find Unmatched Query Wizard จะเป็นวิซาร์ดที่จะสร้างคิวรีจาก 2 ตาราง (หรือคิวรี) โดยการเลือกฟิลด์หนึ่งในตารางทั้งสอง และถ้าเรคอร์ดใดที่มีค่าฟิลด์นี้ในตารางตั้งต้น แต่ไม่พบค่าฟิลด์นี้ในตารางตัวลบ ก็จะเป็นผลลัพธ์ของคิวรีนี้ทันที เราสามารถแสดงการทำงานของคิวรีนี้ได้ดังรูป ตารางตั้งต้น ตารางตัวลบ 1 N ตาราง TblCustomers CustomerID (PK) CustomerName CustomerAddress ZipCode Telephone ตาราง TblOrders OrderID CustomerID OrderDate ShippedDate ฟิลด์ที่จะตรวจสอบว่าซ้ำกัน จะไม่อยู่ในคิวรีผลลัพธ์
1. Click mouse 2.1 เลือก Find Unmatched Query Wizard 2.2 Click mouse 3.1 เลือกตารางตัวตั้งเป็น TblCustomers 3.2 Click mouse
4.1 เลือกตารางตัวลบเป็น TblOrders 4.2 Click mouse 5.1 เลือกฟิลด์ CustomerID ที่ใช้ในการตรวจสอบ ว่าถ้าาฟิลด์นี้ในตารางตัวตั้งไม่มีในตารางตัวลบจะ เป็นผลล้พธ์ของคิวรี 5.2 Click mouse
6.1 เลือกฟิลด์ที่จะให้แสดงผลด้วย 6.2 Click mouse 7.1 ตั้งชื่อคิวรีที่สร้าง 7.2 Click mouse 8. ผลลัพธ์ของคิวรีที่ได้ จะเป็นคิวรีที่บอกว่ามีลูกค้ารายใดที่ไม่ได้สั่งซื้อสินค้าบ้าง