แบบสอบถาม (Query)

ศักดา  ศักดิ์ศรีพาณิชย์
อาจารย์ประจำภาควิชาสาธารณสุข
วิทยาลัยการสาธารณสุขสิรินธร จังหวัดพิษณุโลก
4  สิงหาคม  2547

แบบสอบถามที่จะกล่าวต่อไปนี้ ไม่ใช่แบบสอบถามเพื่อการเก็บรวมรวบข้อมูล สำหรับงานวิจัย  หรืองานประเมินผลอะไรหรอกนะครับ  เป็นแบบสอบถาม หรือ  Query ของโปรแกรม Microsoft Access 2000  ซึ่งสามารถนำไปใช้ได้ทั้ง Microsoft Access 97 หรือ 2002 ก็ได้ครับ สนใจอ่านต่อไปเลยครับ

แบบสอบถามเป็นส่วนประกอบอย่างหนึ่งในฐานข้อมูล  มีการทำงานเหมือนกับ Table (ตารางข้อมูล)มาก  บางทีเราสามารถเรียกได้ว่าเป็นตารางเสมือน คือ เป็นตารางที่กรองมาจากตารางแท้อีกทีหนึ่ง หรือเป็นตารางที่เชื่อมต่อแลกเปลี่ยนข้อมูลจากตารางแท้ ๆ หลายตาราง  เราไม่สามารถที่จะเรียกใช้ตารางหลาย ๆ ตารางในเวลาเดียวกันได้  ถ้าหากมีความจำเป็นต้องใช้ข้อมูลจากหลาย ๆ ตารางดังกล่าว เราจึงจำเป็นต้องสร้างแบบสอบถามขึ้นมาเพื่อแก้ไขปัญหานี้

แบบสอบถามเป็นอ๊อบเจคที่สำคัญมากในการประมวลผลและแสดงผล เนื่องจาก Table มีหน้าที่เก็บข้อมูล แต่ไม่มีเครื่องมือในการประมวลผล ดังนั้น การวิเคราะห์ การคำนวณ ต้องใช้แบบสอบถามในการทำงาน และมีหน้าที่สำคัญ คือ

  1. คัดเลือกเฉพาะข้อมูลที่ต้องการ  โดยกำหนดนิพจน์(Expression) หรือค่าที่ต้องการที่ Criteria

  2. แสดงกลุ่มข้อมูลที่ต้องการ  สร้างแบบสอบถามจากหลาย Table โดยใช้การเชื่อมฟิลด์

  3. ใช้ในการคำนวณใช้คำสั่ง Totals, ฟังก์ชัน และนิพจน์(Expression) ของแบบสอบถาม

จากหน้าที่สำคัญของแบบสอบถามข้างต้น ควรทำความเข้าใจเบื้องต้นเกี่ยวกับเรื่อง 3 เรื่อง  คือ   นิพจน์  ฟังก์ชั่น และตัวดำเนินการ  ดังนี้

นิพจน์(Expression)

้นิพจน์(Expression) หมายถึง การนำค่าคงที่  ตัวแปร  หรือฟังก์ชั่น มากระทำอย่างใดอย่างหนึ่ง  โดยมีเครื่องหมาย(Operater) เป็นตัวบ่งชี้การการดำเนินการนั้น แบ่งเป็น 3 ประเภท

1.  นิพจน์ทางคณิตศาสตร์ (Numberic Expression) เช่น  2 + 2 เป็นต้น

2.  นิพจน์ข้อความ(String Expression) เช่น  "A" + "B" ,  "ศักดา"+"คอมพิวเตอร์" เป็นต้น

3.  นิพจน์ทางตรรก(Logical Expression) เช่น  1 < 2 , "A" > "B"  เป็นต้น

ฟังก์ชั่น (Function)

ฟังก์ชั่น (Function) คือ โปรแกรมย่อย(Subroutines) ซึ่งมีใช้อยู่โปรแกรม Microsoft Access 2000 เป็นฟังก์ชั่นที่มีอยู่ในโปรแกรม(Built-in Function) เมื่อต้องการใช้ฟังก์ชั่นในการประมวลผล  ผู้ใช้เพียงกำหนดค่าลงไปในฟังก์ชั่น เครื่องก็จะทำการประมวลผลให้ทันที เช่น 

1.   Avg Function เป็น Function หาค่าเฉลี่ย  มีรูปแบบการใช้งาน ดังนี้  Avg(Expr)  Expr คือ นิพจน์ที่เป็นตัวเลขที่สามารถคำนวณได้  ถ้าใช้ใน Form คือ =Avg([age])

2.  Date Function เป็น Function ที่ใช้หาวันที่ปัจจุบันในระบบ  มีรูปแบบการใช้งานดังนี้  Date[( )] เช่น กำหนดค่าเริ่มต้นให้กับ Field ของตาราง คือ  =Date( ) 

นอกจากนี้ ผู้ใช้ยังกำหนดขึ้นเองได้(User -defined Function)

ตัวดำเนินการ (Operator)

ตัวดำเนินการ(Operator) หมายถึง เครื่องหมายแทนการกระทำของข้อมูลที่อยู่ในรูปของนิพจน์ ตัวกระทำ แบ่งได้เป็น 3 ประเภท คือ  1) Numberic Operator  2) String Operator  และ 3) Logical Operator  ดูตัวอย่างในหัวข้อนิพจน์  เรื่องตัวดำเนินการนี้ฝากให้ผู้สนใจระดับมืออาชีพควรศึกษาเพิ่มเติม

 

เครื่องมือในแบบสอบถาม

1. Totals เป็นฟังก์ชันการประมวลผลทางคณิตศาสตร์และสถิติพื้นฐาน

2. Sort ใช้การเรียงลำดับข้อมูล

1) Ascending เรียงจากน้อยไปหามาก
2) Descending เรียงจากมากไปหาน้อย
3) Not Sort ยกเลิกการเรียง

3. Expression Builder

1) Function
1.1 Built-in function: เป็นฟังก์ชันที่ติดมากับ Access
1.2 Module: เป็นฟังก์ชันที่เขียนด้วย Visual Basic ขึ้นมาใช้งานเอง

2) Constant เป็นค่าพิเศษที่ใช้ในการควบคุมฟิลด์ เช่น Null, True

3) Operator
3.1 Arithmetic คือ เครื่องหมายบวก ลบ คูณ เป็นต้น
3.2 Comparison คือ เครื่องหมายเปรียบเทียบ เช่น มากกว่า น้อยกว่า
3.3 Logical คือ คำสั่งทางด้านตรรกศาสตร์ เช่น AND, OR

4) Common Expression เป็นคำสั่งทั่วๆ ไป เช่น เลขหน้ากระดาษ 

ประเภทของแบบสอบถาม

ประเภทของแบบสอบถาม เว็บไซต์ Widebase.com จำแนกไว้  มี 3 ประเภท ด้วยกันคือ

1. Crosstab Query เป็นแบบสอบถามที่แสดงข้อมูล 2 มิติ คือ เป็นการแสดงข้อมูลตามความสัมพันธ์ในแนวคอลัมน์กับแถว เช่น ยอดขายแต่ละเดือนของสินค้าแต่ละตัว ในลักษณะเดียวกันโปรแกรม Excel

2. Action Query

1) Select Query เป็นแบบสอบถามสร้างขึ้นมาจาก Table เดียวหรือหลาย Table เพื่อแสดงข้อมูลที่ต้องการ
2) Make - Table Query เป็นแบบสอบถามที่สร้างขึ้นมาแล้วจะส่งข้อมูลที่มีอยู่เป็น Table ใหม่ โดยจะนำเอาคุณสมบัติของฟิลด์ไปด้วย
3) Update Query เป็นแบบสอบถามที่จะปรับข้อมูลฟิลด์ครั้งเดียวพร้อมกันทุกเรคคอร์ด
4) Append Query เป็นแบบสอบถามที่จะเลือกข้อมูลตามที่ต้องการไปต่อท้ายใน Table ที่มีอยู่
5) Delete Query เป็นแบบสอบถามที่จะทำหน้าที่ลบเรคคอร์ดตามเงื่อนไขที่กำหนด

3. SQL Specific เป็นแบบสอบถามที่ต้องสร้างโดยเขียนด้วยคำสั่ง SQL(คลิกที่นี่)

1) Union Query เป็นการแสดงข้อมูลของฟิลด์จากหลาย Table มาอยู่คอลัมน์เดียวกัน
2) Pass - Through Query เป็นการแสดงค่าแบบสอบถามให้ภาษา SQL เพื่อส่งไปยังฐานข้อมูลแบบ SQL
3) Data-Definition Query เป็นคำสั่ง SQL เพื่อการลบ การสร้าง Table

ส่วนในหนังสือที่เขียนโดย ธนพล  ฉันจรัสวิชัย  แบ่งไว้เป็น  6  ประเภทด้วยกัน  โดย ธนพล  ฉันจรัสวิชัย กล่าวว่า  ที่จริงแล้วแบบสอบถามจะมีอยู่หลายชนิด  ไม่ใช่มีเพียงชนิดเลือกข้อมูล  แบบสอบถามทั้งหมดมี ดังนี้

1.  แบบสอบถามเลือกข้อมูล

2.  แบบสอบถามชนิดแท็บไขว้

3.  แบบสอบถามเพื่อสร้างตาราง

4.  แบบสอบถามเพื่อปรับปรุงข้อมูล

5.  แบบสอบถามเพื่อผนวกข้อมูล

6.  แบบสอบถามเพื่อลบข้อมูล

แต่เมื่อสรุปการจำแนกประเภทของแบบสอบถาม ของทั้งสองท่านก็พบว่ามีความเหมือนกัน  ดังนั้นเพื่อให้ง่ายต่อความเข้าใจของผู้อ่าน  ผมขอถือเอาแบบของ ธนพล  ฉันจรัสวิชัย ครับ

(สำหรับแบบสอบถามแบบ 2-6 จะนำเสนอในโอกาสต่อไป)

การสร้างแบบสอบถามชนิดเลือกข้อมูล คลิกที่นี่

 

 

 

 

 

 

 

 

บรรณานุกรม

        www.widebase.net
        ชัยวุฒิ  จันมา และปราศรัย  ประวัติรุ่งเรือง  การเขียนโปรแกรมภาษาเบสิก.   กรุงเทพฯ : สยามคอมพิวเตอร์, 2534
   
   ธนพล  ฉันจรัสวิชัย  การเขียนโปรแกรม VBA และแมโครบน Access 2002. กรุงเทพฯ : ซีเอ็ดยูเคชั่น, 2546
        สิทธิศักดิ์  คล่องดี  สร้างฐานข้อมูลด้วย Microsoft Access2000 อย่างมืออาชีพ. กรุงเทพฯ : เยลโล่การพิมพ์(1988),2542