(Database Workshop) · บทที่ 5 การสร้างฟอร์ม (Form) 79...

134
การปฏิบัติการฐานข้อมูล (Database Workshop) ผู้ช่วยศาสตราจารย์ ดร. ปริศนา มัชฌิมา คณะมนุษยศาสตร์และสังคมศาสตร์ มหาวิทยาลัยราชภัฏสวนดุสิต ๒๕๕๕

Transcript of (Database Workshop) · บทที่ 5 การสร้างฟอร์ม (Form) 79...

การปฏบตการฐานขอมล (Database Workshop)

ผชวยศาสตราจารย ดร. ปรศนา มชฌมา

คณะมนษยศาสตรและสงคมศาสตร มหาวทยาลยราชภฏสวนดสต

๒๕๕๕

การปฏบตการฐานขอมล (Database Workshop)

ผชวยศาสตราจารย ดร. ปรศนา มชฌมา ปร.ด. (เทคโนโลยสารสนเทศ)

คณะมนษยศาสตรและสงคมศาสตร มหาวทยาลยราชภฏสวนดสต

2555

ค ำน ำ

ต าราการปฏบตการฐานขอมลเลมน เปนการเขยนในลกษณะทมขอมลประกอบเชงทฤษฎและปฏบต ทมงเนนใหผ เรยนสามารถจดการฐานขอมลดวยโปรแกรมส าเรจรป Microsoft Access ไดอยางมประสทธภาพ และสามารถประยกตใชงานในดานตางๆ ไดโดยผานกรณศกษา ซงต าราเลมนผ เขยนไดจดท าขนเพอใชเปนต าราประกอบการเรยนการสอนวชาการปฏบตการฐานขอมล รหสวชา 4122208 ตามหลกสตรวทยาศาสตรบณฑต ของหลกสตรเทคโนโลยสารสนเทศ มหาวทยาลยราชภฏสวนดสต นอกจากนนต าราเลมนยงสามารถน าไปใชศกษาคนควา ในระดบอดมศกษาของสถาบนอนๆ ไดอกดวย

เนอหาในต าราไดแบงออกเปน 7 หวเรอง ซงประกอบดวย ความรเบองตนเกยวกบฐานขอมล การใชงานโปรแกรม Microsoft Access การสรางตาราง แบบสอบถาม ฟอรม รายงาน และมาโคร ทานทน าต าราเลมนไปใชควรศกษาเพมเตมจากเอกสารอนๆ ประกอบดวย และหวงวาต าราเลมนจะเปนประโยชนส าหรบนกศกษาและผ ทสนใจ หากมขอบกพรองประการใด ผ เขยน ขอนอมรบไวและจะพจารณาแกไขปรบปรงตอไป

ปรศนา มชฌมา 25 พฤษภาคม 2555

สารบญ

หนา ค าน า (1) สารบญ (3) บทท 1 ความรเบองตนเกยวกบฐานขอมล 1

ขนตอนการพฒนาระบบฐานขอมล 1 แบบจ าลองอ-อาร 4 นอรมลไลเซชน (Normalization) 16 บทท 2 การใชงานโปรแกรม Microsoft Access 25

โครงสรางของโปรแกรม Microsoft Access 25 เรมตนใชงานโปรแกรม Microsoft Access 2010 26 สวนประกอบของหนาตางโปรแกรม Microsoft Access 2010 29 การท างานของเมนแบบรบบอน (Ribbon) 30 การแปลงไฟล .mdb ใหเปนไฟล .accdb 32 การจดเกบไฟลฐานขอมล 33

บทท 3 การสรางตาราง (Table) 35

มมมองของตาราง 35 สวนประกอบของตาราง 36 การสรางตาราง 37

บทท 4 การสรางแบบสอบถาม (Query) 55

มมมองของแบบสอบถาม 55 ประเภทของแบบสอบถาม 56 วธการสรางแบบสอบถาม 57

สรางแบบสอบถามโดยใชตวชวยสราง 57

(4)

สารบญ (ตอ) หนา

การสรางแบบสอบถามดวยมมมองการออกแบบ 59 การสรางแบบสอบถามในมมมอง SQL 77

บทท 5 การสรางฟอรม (Form) 79

มมมองของฟอรม 79 การสรางฟอรมแบบงาย 80 การสรางฟอรมโดยใชตวชวย (Form Wizard) 81 การสรางฟอรมดวยมมมองการออกแบบ 83 ป มสรางคอนโทรลในแทบ Design 84 สวนประกอบในมมมองออกแบบของฟอรม 86 การเชอมฟอรมเขากบตารางฐานขอมล 92 การปรบแตงฟอรม 94 การจดเกบฟอรมลงฐานขอมล 95

บทท 6 การสรางรายงาน (Report) 97

มมมองของรายงาน 97 วธการสรางรายงาน 97 การสรางรายงานแบบงาย 98 สรางรายงานโดยใชตวชวยสราง (Report Wizard) 100 สรางรายงานในมมมองออกแบบ 102 สวนประกอบในมมมองออกแบบของรายงาน 103 ตวอยางการสรางรายงาน 105

การ export รายงาน 110 วธสรางรายงานจากแบบสอบถาม 112

(5)

สารบญ (ตอ) หนา บทท 7 การสรางมาโคร (Macro) 113

รจกกบมาโคร 113 เรมตนสรางมาโคร 114 ค าสงใน Action Catalog 115 วธสรางมาโครโดยเกบเปนออบเจค Macro 117 การแกไขมาโคร 121 วธสงรนมาโคร 124

บรรณานกรม 127

บทท 1

ความรเบองตนเกยวกบฐานขอมล

ฐานขอมลทมประสทธภาพและตรงกบความตองการของผ ใชนน ตองอาศยการพฒนาฐานขอมลทมการวางแผนอยางเปนระบบและมขนตอนทถกตอง โดยในบทนจะศกษาถงขนตอนการพฒนาระบบฐานขอมล ซงจะเนนขนตอนการออกแบบฐานขอมลเปนหลก ตงแตการพฒนาแบบจ าลองอ-อาร และการท านอรมลไลเซชน เพอใหไดฐานขอมลทสมบรณทสด

ขนตอนการพฒนาระบบฐานขอมล

วฏจกรฐานขอมล (The Database Life Cycle: DBLC) เปนขนตอนในการพฒนาหรอจดท าระบบฐานขอมล ซงประกอบดวย 6 ขนตอน ดงภาพท 1.1

ภาพท 1.1 วฏจกรฐานขอมล (The Database Life Cycle: DBLC) ทมา (Rob and Coronel, 2002, p.326)

การศกษาเบองตน (database initial study)

การออกแบบฐานขอมล (database design)

การตดตงระบบ (implementation)

การทดสอบและประเมนผล (testing and evaluation)

การด าเนนการ (operation)

การบ ารงรกษาและการปรบปรง (maintenance and evaluation)

2

1. การศกษาเบองตน การศกษาเบองตนมวตถประสงคเพอวเคราะหสถานการณขององคกร ก าหนดปญหา

และขอจ ากด ก าหนดวตถประสงคและขอบเขตของระบบ ดงรายละเอยดตอไปน 1.1 การวเคราะหสถานการณขององคกร

เ พอศกษาสภาพแวดลอมในการท างานขององคกร ความตองการใน การปฏบตงาน โดยควรรวาโครงสรางขององคกรเปนอยางไร ใครเปนผควบคมอะไร และใครท ารายงานใหใคร เปนตน

1.2 ก าหนดปญหาและขอจ ากด โดยการศกษาวา ระบบทมอยมการท างานอยางไร ขอมลทปอนเขาสระบบ

มอะไรบาง และระบบสรางรายงานอะไร มการใชรายงานเหลานอยางไรและใครเปนผ ใช เพอใหทราบถงปญหาและขอจ ากดในการปอนขอมล หรอการคนหาขอมลเพอการท ารายงาน

1.3 ก าหนดวตถประสงคและขอบเขตของระบบ ในการก าหนดวตถประสงคของระบบฐานขอมลควรสอดคลองกบความตองการ

ของผใช จากค าถามเหลาน - วตถประสงคแรกเรมของระบบทน าเสนอคออะไร - ระบบนตองเชอมตอกบระบบอนๆ ทมอยในองคกรหรอไม - ระบบนจะมการใชขอมลรวมกนกบระบบหรอผใชอนหรอไม เมอทราบวตถประสงคแลวกท าการก าหนดขอบเขตของระบบโดยการออกแบบ

ตามความตองการในการปฏบตงาน เพอใชในการออกแบบฐานขอมลตอไป

2. การออกแบบฐานขอมล เมอผ ออกแบบฐานขอมลมความเขาใจลกษณะขององคกร ปญหาและขอจ ากด

รวมทงวตถประสงคและขอบเขตของระบบแลว กท าการออกแบบฐานขอมลดงตอไปน 2.1 การออกแบบเชงแนวคด

โดยการพฒนาแบบจ าลองอ-อาร (E-R Model) ทใชอธบายถงความสมพนธระหวางสงทเราสนใจจะจดเกบ ทเรยกวา เอนทต (entity) และรายละเอยดหรอคณสมบต (attribute) ของสงทจะจดเกบ แลวท าการแปลงแบบจ าลองอ-อาร เปนโครงสรางตารางฐานขอมล จากนนกท าการนอรมลไลเซชน (normalization) เพอใหไดโครงสรางของตารางทด สามารถควบคมความซ าซอนของขอมล หลกเลยงความผดปกตของขอมล

3

2.2 การเลอกโปรแกรมจดการฐานขอมล

ในการตดสนใจเลอกซอโปรแกรมจดการฐานขอมลขององคกรใด ควรพจารณาถงสงตอไปน

2.2.1 คาใชจายตางๆ เชน ราคาการซอมบ ารง การปฏบตงาน ลขสทธ การตดตง การฝกอบรม และคาใชจายในการเปลยนไปใชระบบใหม

2.2.2 คณลกษณะและเครองมอของระบบจดการฐานขอมล โปรแกรมฐานขอมลบางตวจะรวมเอาเครองมอตางๆ ทใหความสะดวกในงานการพฒนาโปรแกรมประยกต ตวอยางเชน การออกแบบหนาจอ การสรางรายงาน การสรางโปรแกรมประยกต และพจนานกรมขอมล เปนตน ท าใหสะดวกในการบรหารฐานขอมล ใชงาย มความสามารถในการรกษาความปลอดภย และการควบคมการใชงานพรอมกน เปนตน

2.2.3 ความสามารถในการใชขาม platforms ขามระบบและภาษา 2.2.4 ความตองการดานฮารดแวร หนวยความจ า และเนอททใชในการจดเกบ

2.3 การออกแบบทางตรรกะ จะเกยวของกบการตดสนใจใชรปแบบเฉพาะของฐานขอมล (แบบล าดบชน แบบ

เครอขาย และแบบเชงสมพนธ เปนตน) การก าหนดรปแบบของฐานขอมล ซงการออกแบบ เชงตรรกะจะเปนการแปลงการออกแบบระดบเชงแนวคด ใหเปนแบบจ าลองของฐานขอมล ในระดบภายใน (internal model) ตามระบบการจดการฐานขอมล (DBMS) เชน MS-Access และ Oracle โดยการสรางตาราง ฟอรม ควร และรายงาน เปนตน

2.4 การออกแบบทางกายภาพ การออกแบบทางกายภาพ คอ กระบวนการในการเลอกหนวยจดเกบขอมล และ

ลกษณะการเขาถงขอมลของฐานขอมล การสรางดรรชน (index) การจดท าคลสเตอร (clustering) ซงเปนการจดเกบขอมลทมการใชงานบอยๆ ไวในหนวยเกบขอมลเดยวกน หรอการใชเทคนคแฮชชง (hashing technique) ในการจดต าแหนงทอยของขอมลภายในหนวยเกบขอมล เปนตน

3. การตดตงระบบ ขนอยกบระบบจดการฐานขอมลทใช โดยเรมตนจากการสรางฐานขอมล ก าหนด

ผจดการฐานขอมล ก าหนดพนทๆ ทตองการใช และการสรางตารางตางๆ ในระบบ 4. การทดสอบและประเมนผล

เพอการตรวจสอบดวาระบบทพฒนามาสามารถท างานไดตามทตองการหรอไม ซงควรมการเตรยมขอมลทดสอบไวลวงหนา

4

5. การด าเนนการ

เ มอฐานขอมลผานขนตอนการทดสอบและประเมนผล ตอไปกเปนขนตอน การด าเนนการ หรอการตดตงระบบ ซงตองเปนระบบทสมบรณพรอมใหผ ใชไดใชงานนนเอง ซงอาจรวมไปถงการฝกอบรมใหแกผใช ทเปนพนกงานทตองใชงานจรงดวย

6. การบ ารงรกษาและการปรบปรง

หลงจากระบบไดเรมด าเนนการ ผ จดการฐานขอมลจะตองเตรยมการบ ารงรกษาฐานขอมลโดยการส ารองขอมลไว เพอสะดวกในการก คนขอมล เมอระบบมปญหา และหากม การใชงานไปนานๆ อาจตองท าการปรบปรงแกไขโปรแกรมใหเหมาะสมกบเหตการณ และ ความตองการของผใชทเปลยนแปลงไป

เมอเราทราบขนตอนการพฒนาระบบฐานขอมลทงหมดแลว ในบทนจะเนนถงรายละเอยดของขนตอนการออกแบบฐานขอมลเชงแนวคด ตงแตการพฒนาแบบจ าลองอ-อาร (E-R Model) และการท านอรมลไลเซชน (normalization) ดงรายละเอยดทจะกลาวตอไป

แบบจ าลองอ-อาร

แบบจ าลองอ-อาร (Entity-Relationship Model: E-R Model) เปนแบบจ าลองขอมล ทประยกตมาจากแนวคดเรอง Semantic Model และมการพฒนามาเปน E-R Model โดย Peter Pin Shan Chen จาก Massachusetts Institute of Technology ในป ค.ศ. 1976 และไดรบ ความนยมมาจนถงปจจบน

1. ความหมายและความส าคญของแบบจ าลองอ-อาร แบบจ าลองอ-อาร เปนเครองมอทใชในการออกแบบฐานขอมล ทแสดงความสมพนธ

ระหวางเอนทตหรอสงทเราตองการจะจดเกบไวในฐานขอมล โดยน าเสนอในรปของของแผนภาพ ทเรยกวา อ-อารไดอะแกรม (E-R Diagram) ดวยการใชสญลกษณตางๆ

แบบจ าลองอ-อาร มความส าคญในการเปนสอกลางเพอสอสารกบบคลากรตางๆ ทเกยวของกบระบบฐานขอมล ไมวาจะเปนในระดบผบรหาร นกเขยนโปรแกรม และผ ใชในระดบปฏบตการ เปนตน ท าใหเขาใจระบบไดอยางถกตองตรงกน เนองจากมการแสดงภาพรวม ของระบบในลกษณะของรปภาพหรอแผนภาพ ท าใหเขาใจงาย ดงนนระบบทออกแบบมาจงมความถกตองและเปนไปตามวตถประสงคขององคกร

5

2. องคประกอบของแบบจ าลองอ-อาร แบบจ าลองอ -อาร ประกอบดวย เอนทต แอตทรบวต คย และความสมพนธ

ดงรายละเอยดตอไปน 2.1 เอนทต

เอนทต (entity) คอ สงตางๆ ทผ ใชงานฐานขอมลตองการจะจดเกบ ซงมลกษณะเปนค านาม ทงรปธรรมและนามธรรม เชน บคคล สถานท วตถสงของ และเหตการณตางๆ เปนตน ตวอยางของเอนทตใน “ระบบการลงทะเบยนเรยนของนกศกษา” ประกอบดวย รายวชา นกศกษา การลงทะเบยน ผลการเรยนประจ าเทอม สาขาวชา คณะ และโปรแกรมวชา เปนตน

เอนทตทรวบรวมไดจากระบบสามารถแยกแยะและจดเปนหมวดหมไดตามชนดของเอนทต ไดดงตอไปน

- หมวดบคคล ไดแก เอนทต นกศกษา พนกงาน ประชาชน ผ ปวย และลกคา เปนตน

- หมวดสถานท ไดแก เอนทต รฐ ประเทศ จงหวด ภาค สาขา และวทยาเขต เปนตน

- หมวดวตถ ไดแก เอนทต อาคาร เครองจกร ผลผลต หนงสอ วตถดบ และรถยนต เปนตน

- หมวดเหตการณ ไดแก เอนทต การขาย การลงทะเบยน การเดนทาง การสงซอของ การออกใบเสรจรบเงน และการใหรางวล เปนตน

ในอ-อารไดอะแกรม ใชสญลกษณรปสเหลยมผนผา แทนหนงเอนทต โดยใชชอของเอนทตนนๆ ก ากบอยภายใน เชน

2.2 แอตทรบวต แอตทรบวต (attribute) คอ คณสมบตตางๆ ของเอนทตทเราตองการจดเกบใน

ฐานขอมล ตวอยางเชน - เอนทตบตรประชาชน ประกอบดวยแอตทรบวต หรอสงทบงบอกคณสมบต

ของประชาชนแตละคน ไดแก หมายเลขบตรประชาชน ชอ นามสกล วนเดอนปเกด ภมล าเนา วนทออกบตร วนทบตรหมดอาย สวนสง น าหนก และกรปเลอด เปนตน

- เอนทตพนกงาน ประกอบดวยแอตทรบวต ไดแก รหสพนกงาน ชอ นามสกล ทอย เบอรโทรศพท สถานภาพสมรส และเงนเดอน เปนตน

นกศกษา แทน เอนทตนกศกษา

6

- เอนทตสนคา ประกอบดวยแอตทรบวต ไดแก รหสสนคา ชอสนคา ราคา และจ านวน เปนตน

- เอนทตนกศกษา ประกอบดวยแอตทรบวต ไดแก รหสนกศกษา ชอ นามสกล เพศ วนเดอนปเกด ทอย และเบอรโทรศพท เปนตน

- เอนทตวชา ประกอบดวยแอตทรบวต ไดแก รหสวชา ชอวชา และจ านวนหนวยกต เปนตน

คาของขอมลในแตละแอตทรบวตประกอบกน เรยกวา ทเพล (tuple) ซงเปนแถวของขอมลในตาราง โดยแตละแถวหรอแตละทเพลจะประกอบดวยหลายแอตทรบวตหรอ หลายคอลมนของขอมล จ านวนแถวของขอมลในตารางเรยกวา Cardinality และจ านวน แอตทรบวตทงหมดในตารางเรยกวา Degree อยางเชน จากภาพท 6.2 ม 4 Cardinality 5 Degree

รหสนกศกษา ชอ นามสกล โปรแกรมวชา คณะ 4800111 สาธต กตตพงศ คอมพวเตอร วทยาศาสตร 4800222 ชานนท สกลวงศ บรรณารกษศาสตร มนษยศาสตร 4800333 ธญญา โชตชวง บรรณารกษศาสตร มนษยศาสตร 4800444 โสภณ ปญญาเลศ บรหารธรกจ วทยาการจดการ

ภาพท 1.2 ตวอยางแอตทรบวต ทเพล และเอนทตนกศกษา

ในอ-อารไดอะแกรม ใชสญลกษณรปวงร แทนหนงแอตทรบวต โดยใชชอของ แอตทรบวตนนๆ ก ากบอยภายใน เชน

แอตทรบวต (attribute)

ทเพล (tuple)

แทนแอตทรบวตของชอ

ชอ

7

2.3 คย คย (key) คอ แอตทรบวตทสามารถใชบงบอกความแตกตางของแตละทเพลได

อาจเปนแอตทรบวตเดยวๆ หรอ กลมของแอตทรบวตกได ประเภทของคยประกอบดวย 2.3.1 ซปเปอรคย (super key) คอ แอตทรบวตหรอกลมของแอตทรบวต

ทสามารถบงบอกความแตกตางของแตละทเพลได ตารางท 1.1 ขอมลในเอนทตนกศกษา

รหสนกศกษา ชอ นามสกล เลขทบตรประชาชน 48001 สามารถ ประเสรฐกล 3120100475991 48002 วชา ปญญาเลศ 3120100475992 48003 น าทพย วเศษศร 3120100475993

จากตารางท 1.1 ประกอบไปดวยซปเปอรคยดงตอไปน

- รหสนกศกษา - รหสนกศกษา, ชอ

- รหสนกศกษา, ชอ, นามสกล - เลขทบตรประชาชน

2.3.2 คยคแขง (candidate key) คอ ซปเปอรคยทนอยทสด ทสามารถบงบอกความแตกตางของแตละทเพลได

จากตารางท 1.1 ประกอบไปดวยคยคแขงดงตอไปน

– รหสนกศกษา – เลขทบตรประชาชน

2.3.3 คยหลก (primary key) คอ คยคแขงทถกเลอก เพอใชบงบอกความแตกตางของแตละทเพล

จากตารางท 1.1 คยหลก คอ รหสนกศกษา หรอเลขทบตรประชาชน อยางใดอยางหนง

8

คณสมบตของคยหลก 1) คยหลกซ ากนไมได 2) คยหลกอาจเปนแคหนงแอตทรบวตหรอกลมของแอตทรบวตกได

อยางเชน ในตารางท 1.1 มแอตทรบวตเดยวทเปนคยหลก ซงอาจจะเปน “รหสนกศกษา” หรอ ”เลขทบตรประชาชน” กได แตขอมลบางตารางอาจตองอาศยแอตทรบวตตงแต 2 ตวขนไปมาประกอบกนเปนคยหลก เพอใหเกดความแตกตางระหวางทเพล ดงเชนในตารางท 1.2 ตารางท 1.2 ขอมลในเอนทตการลงทะเบยนเรยนของนกศกษา ปการศกษา 1/55

รหสนกศกษา ชอ รหสวชา ชอวชา ปการศกษา 5520249001 ปรชา 111 คอมพวเตอร 1/55 5520249001 ปรชา 222 ภาษาไทย 1/55 5520249002 เกรยงไกร 111 คอมพวเตอร 1/55 5520249003 ฉตรชย 333 ภาษาองกฤษ 1/55 5520249003 ฉตรชย 222 ภาษาไทย 1/55 5520249003 ฉตรชย 444 สงแวดลอม 1/55

จากตารางท 1.2 ไมสามารถใหแอตทรบวตรหสนกศกษา เปนคยหลกเพยงแอตทรบวตเดยวได เพราะจะเหนวา รหสนกศกษา 5520249001 ของทเพลหรอแถวท 1 จะไปซ ากบแถวท 2 แตถาใหแอตทรบวต “รหสนกศกษา” และ “รหสวชา” เปนคยหลก แลวพจารณาขอมลของ 2 แอตทรบวตน จะเหนวาขอมลไมซ ากนแลว ดงนนตารางท 1.2 จงมคยหลกซงประกอบดวยแอตทรบวต 2 ตวประกอบกน คอ “รหสนกศกษา” และ “รหสวชา”

3) คยหลกจะเปนคาวาง (null) ไมได เพราะฉะนนในการกรอกขอมลตางๆ ลงในตาราง แอตทรบวตใดทเราก าหนดใหเปนคยหลกตองกรอกขอมลใหครบ คอ จะไมมคาไมได แตแอตทรบวตอนอาจจะปลอยเวนวางไวกไดถาไมทราบคา

2.3.4 คยนอก (foreign key) คอ แอตทรบวตทใชในการเชอมตอกบเอนทต อนๆ เพอแสดงความสมพนธ คณสมบตของคยนอก คอ

- คยนอกสามารถมคาซ ากนได - คยนอกสามารถเปนคาวางได - คยนอกทไมเปนคาวางจะเปนคาทชไปยงคยหลกของเอนทตทสมพนธกน

9

รหสนกศกษา ชอนกศกษา GPA

4800555 กรรณการ สกลศร 2.50 4800999 สายสมร ปญญาเลศ 3.75

รหสนกศกษา รหสวชา เกรด 4800555 40001 B 4800555 40005 C 4800999 40001 A

รหสวชา ชอวชา หนวยกต 40001 ภาษาไทย 2 40005 คณตศาสตร 3

ภาพท 1.3 แอตทรบวตทเปนคยนอกทใชในการเชอมตอกบเอนทตอน

2.3.5 คยรอง (secondary key) คอ แอตทรบวตทไมเปน key หลก แต

สามารถใชในการคนหาขอมลนนๆ ได โดยคยรองจะมคาซ ากนได ตวอยางเชน ในตารางท 1.3 มรหสนกศกษาเปนคยหลก แตหากตองการคนหาขอมลจากชอนกศกษา แอตทรบวต ชอกจะเปน คยรอง หรอถาตองการคนหาขอมลจากนามสกลนกศกษา แอตทรบวตนามสกลกจะเปน คยรอง เปนตน ตารางท 3.3 คยรองทใชในการคนหาขอมล

รหสนกศกษา ชอ นามสกล เบอรโทรศพท 55111 สามารถ ประเสรฐกล 0-1111-1111 55112 วชา ปญญาเลศ 0-2222-2222 55113 น าทพย วเศษศร 0-5555-5555 55114 สมจตร สมสกลวงศ 0-6666-6666 55115 วชา รกศกดศร 0-9999-9999

คยนอก

10

2.4 ความสมพนธ ความสมพนธ (relationship) เปนการอธบายความสมพนธระหวางเอนทตทม

ความความสมพนธกน วามความสมพนธกนอยางไร โดยในอ -อารไดอะแกรมใชสญลกษณรปสเหลยมขาวหลามตด ทมชอของความสมพนธนนก ากบอยภายใน และเชอมตอกบเอนทตทเกยวของกบความสมพนธดวยเสนตรง ดงตวอยางดานลาง

ภาพท 1.4 ตวอยางความสมพนธระหวางเอนทต

ความสมพนธระหวางเอนทตแบงเปน 3 ประเภท คอ ความสมพนธแบบ หนงตอหนง ความสมพนธแบบหนงตอกลม และความสมพนธแบบกลมตอกลม ดงรายละเอยดตอไปน

2.4.1 ความสมพนธแบบหนงตอหนง (one to one relationship หรอ 1:1) หมายถง ขอมลในเอนทตหนง มความสมพนธกบขอมลในอกหนงเอนทตเพยงขอมลเดยว ตวอยางเชน นกศกษาแตละคนจะมสตบตรไดเพยงใบเดยวเทานน และสตบตรหนงใบกเปนของนกศกษาไดเพยงคนเดยวเทานนเชนกน

ภาพท 1.5 ความสมพนธของขอมลแบบหนงตอหนง

ในการพจารณาความสมพนธระหวางเอนทตแบบหนงตอหนง ตองมองสองทศ คอ มองจากซายไปขวา และกตองมองจากขวาไปซาย แลวจงน าความสมพนธทงสองทศ มาพจารณารวมกน ดงภาพท 1.6

นกศกษา

คณะ สงกด

ลกคา ใบเสรจ ไดรบ

นกศกษา สตบตร ม 1 1

11

ภาพท 1.6 วธการพจารณาความสมพนธแบบหนงตอหนง

2.4.2 ความสมพนธแบบหนงตอกลม (one to many relationship หรอ 1:M) หมายถง ขอมลในเอนทตหนง มความสมพนธกบขอมลในอกหนงเอนทตมากกวาหนงขอมล

ตวอยางเชน ลกคาหนงคนมใบเสรจไดหลายใบ เนองจากลกคาหนงคนอาจมาซอสนคาหลายครง แตใบเสรจหนงใบตองเปนของลกคาเพยงคนเดยวเทานน

ภาพท 1.7 ความสมพนธของขอมลแบบหนงตอกลม ในการพจารณาความสมพนธระหวางเอนทตแบบหนงตอกลม ตองมอง

สองทศ คอ มองจากซายไปขวา และกตองมองจากขวาไปซาย แลวจงน าความสมพนธทงสองท ศ มาพจารณารวมกน ดงภาพท 1.8

ภาพท 1.8 วธการพจารณาความสมพนธแบบหนงตอกลม

นกศกษา สตบตร 1 1

นกศกษา สตบตร 1 1

1 : 1

1 X 1 = 1 1 X 1 = 1

ลกคา ใบเสรจ ม 1 M

ลกคา ใบเสรจ 1 M

ลกคา ใบเสรจ 1 1

1 : M

1 X 1 = 1 M X 1 = M

12

2.4.3 ความสมพนธแบบกลมตอกลม (many to many relationship หรอ M:M) หมายถง ขอมลมากกวาหนงขอมลในเอนทตหนง มความสมพนธกบขอมลในอกหนงเอนทตมากกวาหนงขอมล ตวอยางเชน นกศกษาหนงคนสามารถลงทะเบยนเรยนไดหลายวชา และวชาแตละวชามนกศกษาลงทะเบยนเรยนไดหลายคน

ภาพท 1.9 ความสมพนธของขอมลแบบกลมตอกลม

ในการพจารณาความสมพนธระหวางเอนทตแบบกลมตอกลม ตองมองสองทศ คอ มองจากซายไปขวา และกตองมองจากขวาไปซาย แลวจงน าความสมพนธทงสองทศ มาพจารณารวมกน ดงภาพท 1.10

ภาพท 1.10 วธการพจารณาความสมพนธแบบกลมตอกลม

นกศกษา วชา ลงทะเบยนเรยน

M M

นกศกษา วชา 1 M

นกศกษา

วชา M 1

M : M

1 X M = M M X 1 = M

13

3. สญลกษณในแบบจ าลองอ-อาร

ตารางท 1.4 สญลกษณทส าคญๆ ในแบบจ าลองอ-อาร สญลกษณ ความหมาย

เอนทต

ความสมพนธ

แอตทรบวต

คยหลก

ตวอยาง

นกศกษา และ วชา เปนเอนทตทเราสนใจจะจดเกบ ซงเอนทตนกศกษาจะประกอบดวยแอตทรบวต ไดแก รหสนกศกษา ชอนกศกษา นามสกล และเบอรโทรศพท เปนตน โดยมรหสนกศกษาเปนคยหลก สวนเอนทตวชาจะประกอบดวยแอตทรบวต ไดแก รหสวชา ชอวชา และจ านวนหนวยกต เปนตน โดยมรหสวชาเปนคยหลก ซงความสมพนธระหวางเอนทตนกศกษาและเอนทตวชา เปนแบบกลมตอกลม คอ นกศกษาหนงคนสามารถลงทะเบยนเรยนไดหลายวชา และวชาแตละวชามนกศกษาลงทะเบยนเรยนไดหลายคน ดงนนเราสามารถน าเสนอในรปของของแผนภาพ ทเรยกวา อ-อารไดอะแกรม (E-R Diagram) ดวยการใชสญลกษณตางๆ ดงน

ภาพท 1.11 ตวอยางของ อ-อารไดอะแกรม (E-R Diagram)

นกศกษา วชา ลงทะเบยนเรยน

M M

รหสนกศกษา

นามสกล

ชอนกศกษา

เบอรโทรศพท

รหสวชา

ชอวชา จ านวนหนวยกต

14

4. การแปลงแบบจ าลองอ-อารเปนโครงสรางตารางฐานขอมล

ขนตอนในการแปลงแบบจ าลองอ -อารเปนโครงสรางของตารางในฐานขอมล มขนตอนดงตอไปน

4.1 แปลงเอนทตปกตในแบบจ าลองอ-อารเปน 1 ตาราง ซงประกอบดวยแอตทรบวตของเอนทตนนๆ โดยชอของตารางกคอชอของเอนทต และแอตทรบวตของเอนทต กคอ แอตทรบวตของตาราง ส าหรบแอตทรบวตทเปนคยหลกของตาราง ใหขดเสนใตทแอตทรบวตนน เชนเดยวกบในแบบจ าลองอ-อาร ซงจากภาพท 1.11 น ามาแปลงเปนตารางได 2 ตาราง คอ นกศกษา

รหสนกศกษา ชอ นามสกล เบอรโทรศพท 55111 สามารถ ประเสรฐกล 0-1111-1111 55112 วชา ปญญาเลศ 0-2222-2222

วชา

รหสวชา ชอวชา หนวยกต 40001 ภาษาไทย 2 40005 คณตศาสตร 3

ภาพท 1.12 โครงสรางของตารางในฐานขอมลจากการแปลงเอนทตปกตในแบบจ าลองอ-อาร

4.2 แปลงความสมพนธเปนตาราง 4.2.1 แปลงความสมพนธแบบ 1 : M นนไมตองสรางตารางใหม แตใหน า

แอตทรบวต ทเปนคยหลกของเอนทตทอยดานความสมพนธทเปน 1 ไปเพมเปนแอตทรบวตของตารางดานทมความสมพนธเปน M

4.2.2 แปลงความสมพนธแบบ M : M จะไดตารางใหม 1 ตาราง ซงประกอบดวยแอตทรบวตของความสมพนธนนรวมกบแอตทรบวตทเปนคยหลกของ 2 เอนทตทมความสมพนธ แบบ M : M

15

จากแบบจ าลองอ-อารในภาพท 1.11 สามารถสรางตารางตามขนตอนนไดอก 1 ตาราง คอ ตารางการลงทะเบยน ซงประกอบดวยแอตทรบวต รหสนกศกษา (คยหลกของ เอนทตนกศกษา) และ รหสวชา (คยหลกของเอนทตวชา) ฉะนนตารางใหมทเกดขน ซงกคอ ตารางการลงทะเบยน ม รหสนกศกษาและรหสวชา เปนคยหลก ดงน

การลงทะเบยน รหสนกศกษา รหสวชา

48111 40001 48111 40005 48112 40001

ภาพท 1.13 โครงสรางของตารางทไดจากการแปลงความสมพนธแบบ M:M

จากการแปลงแบบจ าลองอ-อารตามขนตอนขางตน สรปตารางทไดทงหมด 3 ตาราง ดงตอไปน นกศกษา

รหสนกศกษา ชอ นามสกล เบอรโทรศพท 48111 สามารถ ประเสรฐกล 0-1111-1111 48112 วชา ปญญาเลศ 0-2222-2222

วชา รหสวชา ชอวชา หนวยกต 40001 ภาษาไทย 2 40005 คณตศาสตร 3 การลงทะเบยน

รหสนกศกษา รหสวชา 48111 40001 48111 40005 48112 40001

ภาพท 1.14 โครงสรางฐานขอมลการลงทะเบยนเรยนของนกศกษา

16

ทงนโครงสรางฐานขอมลทไดจากการแปลงแบบจ าลองอ-อารนนจะอยใน 1NF ดงนนจงจ าเปนตองน ามาท านอรมลไลเซชนตอ เพอใหไดฐานขอมลทปราศจากความซ าซอนหรอซ าซอนนอยทสด แตถาไดท าการออกแบบฐานขอมลโดยการใชแบบจ าลองอ-อาร มาอยางถกตองแลว เมอแปลงเปนโครงสรางฐานขอมลแบบสมพนธ จะไดโครงสรางความสมพนธทจดกลมของแอตทรบวตมาเปนอยางด และบางทโครงสรางของความสมพนธทไดนนอาจอยในนอรมลฟอรมทสงกวานอรมลฟอรมท 1 แลว อยางไรกตามขนตอนถดมาจ าเปนตองวเคราะหความสมพนธ ระหวาง แอตทรบวต ซงกคอ วธนอรมลไลเซชนทจะกลาวตอไป

นอรมลไลเซชน (Normalization)

การออกแบบฐานขอมลทด ตองมความซ าซอนในการจดเกบขอมลนอยทสด หรอไมม ความซ าซอนเลย ซงตองอาศยหลกการในการท านอรมลไลเซชนดงรายละเอยดตอไปน

1. แนวคดเกยวกบนอรมลไลเซชน นอรมลไลเซชนเปนวธการทใชในการตรวจสอบและแกไขปญหาเกยวกบความซ าซอนของขอมล โดยด าเนนการใหขอมล ในแตละรเลชน (relation) อยในรปทเปนหนวยทเลกทสดทไมสามารถแตกออกเปนหนวยยอยๆ ไดอก โดยยงคงความสมพนธระหวางขอมลในรเลชนตางๆ ไวตามหลกการทก าหนดไวใน relational model การท านอรมลไลเซชนน เปนการด าเนนการอยาง เปนล าดบ ทก าหนดไวดวยกนเปนขนตอน ตามปญหาทเกดขนในขนตอนนนๆ ซงแตละขนตอน จะมชอตามโครงสรางขอมลทก าหนดไวดงน 1. First Normal Form (1NF) 2. Second Normal Form (2NF) 3. Third Normal Form (3NF) 4. Boyce-Codd Normal Form (BCNF) 5. Fourth Normal Form (4NF) และ 6. Fifth Normal Form (5NF) ในการออกแบบฐานขอมลเพอลดความซ าซอนในการจดเกบขอมลอยางนอยตองมคณสมบตเปน 3 NF เพราะจรงๆ แลว ในการท างานทวๆ ไป แค 3 NF กสามารถใชงานไดแลว แตส าหรบ BCNF ไปจนถง 5NF เปนฐานขอมลชนดพเศษจรงๆ ทแทบจะไมมในชวตประจ าวน โอกาสพบประมาณ 0.01 % ดงนนในทนจะศกษาเพยงแค 1NF 2NF และ 3NF เทานน เพอใชเปนแนวทางในการศกษาระดบอนตอไป

17

2. รปแบบของนอรมลฟอรม (Normal Form : NF) 2.1 First Normal Form (1NF)

ตารางทผานการท านอรมลไลเซชนระดบท 1 หรอ First Normal Form ตองมคณสมบตดงน

หมายความวาขอมลทเกบในแตละคอลมนจะตองมลกษณะเปนคาเดยว (single valued) ไมสามารถแบงยอยไดอก

ในการท านอรมลไลเซชนจะตองดขอมลในตารางเปนหลก ตวอยางเชน ขอมลในตารางท 1.5 แสดงการเกบขอมลเกยวกบนกศกษา ซงแตละคนสามารถอยชมรมและมงานอดเรกไดมากกวา 1 อยาง ตารางท 1.5 ขอมลนกศกษา รหสนกศกษา ชอ ทอย ชมรม งานอดเรก

55001 นาร ศรพร กรงเทพ ดนตร เลนกตาร อาสาพฒนาชนบท อนรกษสงแวดลอม

55002 ศรสมร อมรชย นนทบร พระพทธศาสนา สะสมพระเครอง รองเพลง

55003 อรอนงค สมประสงค กรงเทพ ดนตร ตกลอง จากตารางท 1.5 จะเหนวาขอมลในคอลมนชมรมและงานอดเรกมคามากกวา

1 คา แสดงวาไมเปน atomic หรออยในรปของ repeating group ดงนนตารางท 1.5 จงไมเปน 1NF โดยเราจะเรยกตารางทยงไมผานแมแต 1NF วา Unnormalized Form (UNF) ซงมวธการ ทจะท าใหเปน 1NF คอ

1) แยกคอลมนทมคามากกวา 1 คาออกเปนแถวใหม 2) เพมขอมลทเหมาะสมเขาไปในคอลมนทวางอยของแถวทเกดขนใหม จากตารางท 1.5 ทไมมคณสมบตเปน 1NF สามารถท าใหมคณสมบตเปน 1NF

ไดดงตารางท 1.6 ซงมรหสนกศกษา ชมรม และงานอดเรก เปนคยหลก

ไมมคอลมนใดในตารางทมคามากกวา 1 คา คอ คาในแตละคอลมนตองเปน atomic หรอไมอยในรปของ repeating group

18

ตารางท 1.6 ขอมลนกศกษาทผานการท านอรมลไลเซชน ระดบท 1 แลว รหสนกศกษา ชอ ทอย ชมรม งานอดเรก

55001 นาร ศรพร กรงเทพ ดนตร เลนกตาร 55001 นาร ศรพร กรงเทพ อาสาพฒนาชนบท เลนกตาร 55001 นาร ศรพร กรงเทพ อนรกษสงแวดลอม เลนกตาร 55002 ศรสมร อมรชย นนทบร พระพทธศาสนา สะสมพระเครอง 55002 ศรสมร อมรชย นนทบร พระพทธศาสนา รองเพลง 55003 อรอนงค สมประสงค กรงเทพ ดนตร ตกลอง

สาเหตทแยกคอลมนทมคามากกวา 1 คาออกเปนแถวใหม เนองจากไมรจ านวนทแนนอนของคาทมอยในคอลมนนน เชน ไมทราบวานกศกษาแตละคนจะมงานอดเรกกนคนละไมเกนกอยาง แตถาเราทราบจ านวนทแนนอนของคอลมนทมหลายคานน เราอาจแยกเปนคอลมนใหมไดเลย ตวอยางเชน การเกบชอผแตงของหนงสอในหองสมด ซงหนงสอเลมหนงอาจจะมผแตงหลายคน แตในการเกบชอผแตงจะเกบเพยง 3 คนเทานน ในกรณนควรจะแบงคอลมนซงเกบชอผแตงออกเปนหลายคอลมนโดยขนกบจ านวนผ แตงทมากทสดทมอยหรอเราตองการเกบขอมลเอาไว ซงจะท าใหคาของแตละคอลมน เปน Atomic ดงตารางตอไปน

ตารางท 1.7 การเกบขอมลหนงสอ ทมคณสมบตเปน 1NF

ISBN ชอหนงสอ ผแตง 1 ผแตง 2 ผแตง 3 9749151001 การจดการฐานขอมล วาสนา ทรพยแกว 9749151002 ระบบสารสนเทศ วเชยร เธยรชย นฤมล สมสกล 9749151003 เทคโนโลยสารสนเทศ สขม เฉลยทรพย ปรศนา มชฌมา กาญจนา เผอกคง

ถงแมวาตารางท 1.6 จะไดรบการออกแบบใหอยในรป 1NF แลว แตลกษณะของ

ขอมลภายในอาจกอใหเกดปญหาขนไดอก เชน ขอมลทเกยวกบนกศกษารหส 55001 ถกจดเกบไวในแถวท 1, 2 และ 3 ไดแก ชอ และทอย โดยจะเหนวาเปนการเกบขอมลทซ าซอนกน ท าใหสนเปลองเนอทในการจดเกบ และกอใหเกดปญหาในการเปลยนแปลงขอมลดวย เชน ถานกศกษารหส 55001 มการเปลยนชอ หรอทอย กตองท าการแกไขขอมลหลายแถว ซงถามการแกไขขอมลไมครบ กอาจท าใหขอมลภายในตารางเกดความขดแยงกนได ดงนนจงตองมการนอรมลไลเซชนระดบท 2 ตอไป

19

1) ตองมคณสมบตของ 1NF 2) ทก nonprime attribute จะตองขนกบ prime (primary key) ทกตว

2.2 Second Normal Form (2NF) ตารางทผานการท านอรมลไลเซชนระดบท 2 หรอ Second Normal Form ตองม

คณสมบตดงน

นนคอแอตทรบวตทไมใชคยหลกจะตองมคาขนอยกบคยหลกเทานน โดยถาคยหลกประกอบดวยแอตทรบวตทมากกวา 1 ตวกจะตองขนอยกบแอตทรบวตทงหมดทเปนคยหลก ไมใชขนอยกบบางตว

การทจะรวาแอตทรบวตใดขนอยกบแอตทรบวตใดนน ตองใชความรในเรองฟงกชนการขนตอกน หรอ functional dependency ซงเปนสงทใชแสดงความสมพนธระหวาง แอตทรบวต ในรปแบบฟงกชน เพอชวยในการตดสนใจวาแอตทรบวตทไมใชคยหลกควรจะปรากฏเปนคอลมนอยในตารางหรอควรจะแยกออกมาสรางเปนตารางใหม

สมมตวา X และ Y เปนแอตทรบวตในตารางหนง ถา Y ขนอยกบ X จะสามารถเขยนฟงกชนการขนตอกนไดดงน

การท Y ขนอยกบ X หมายความวา ทกๆคาของ X ทเราเลอกขนมา จะสามารถ

หาคาของ Y มา 1 คาทสอดคลองกบคาของ X ไดเสมอ เชน จากตารางท 1.8 เปนตารางทเกบขอมลเกยวกบนกศกษา ถาถามวานกศกษาคนใดทมรหสนกศกษาเปน 55111 กสามารถตอบไดทนทวาคอ นกศกษาทชอวา สามารถ ประเสรฐกล ดงนนชอนกศกษาจงขนอยกบรหสนกศกษา ซงเขยนเปนฟงกชนการขนตอกนไดวา รหสนกศกษา ชอ นนเอง ตารางท 1.8 ตารางนกศกษา

รหสนกศกษา (คยหลก)

ชอ

นามสกล เบอรโทรศพท

55111 สามารถ ประเสรฐกล 0-1111-1111 55112 วชา ปญญาเลศ 0-2222-2222 55113 น าทพย ปญญาเลศ 0-2222-2222 55114 สมจตร สมสกลวงศ 0-6666-6666 55115 วชา รกศกดศร 0-9999-9999

X Y

20

เมอเขาใจในเรองฟงกชนการขนตอกนแลว เราลองมาพจารณาวาตารางท 1.9 จะมคณสมบตเปน 2NF หรอไม

ตารางท 1.9 ขอมลการสงซอสนคาของลกคา รหสลกคา ชอลกคา ระดบ ประเภท รหสสนคา ชอสนคา จ านวนสนคา

001 นาร A ชนด P111 ปากกา 10 001 นาร A ชนด P222 ดนสอ 12 001 นาร A ชนด P333 ยางลบ 10 002 ศรสมร B ปานกลาง P222 ดนสอ 15 003 อรอนงค C พอใช P333 ยางลบ 16

กอนอนเราตองพจารณาวาตารางท 1.9 มคณสมบตเปน 1NF หรอไม จากขอมลในตารางจะเหนวาไมมคอลมนใดในตารางทมคามากกวา 1 คา แสดงวาผานคณสมบตเปน 1NF จากนนตองพจารณาตอวามแอตทรบวตใดเปน prime หรอคยหลก สวนทเหลอกจะเรยกวา nonprime จากตารางท 1.9 จะมแอตทรบวต รหสลกคา และ รหสสนคา เปน prime สวน ชอลกคา ทอย ชอสนคา และจ านวนสนคา เปน nonprime จากคณสมบตของ 2NF คอ nonprime ตองขนกบ prime ทกตว ในการพจารณาวาเปน 2NF หรอไม จะตองพจารณา nonprime ทละตว ซงมผลสรปการขนตอกนดงน

รหสลกคา, รหสสนคา ชอลกคา, ระดบ, ประเภท

จากขอมลในตารางท 1.9 จะสงเกตวาชอลกคา, ระดบ และประเภทจะขนกบ รหสลกคาเพยงอยางเดยว ไมขนกบรหสสนคาเลย ท าใหไมเปนไปตามคณสมบตของ 2NF และนอกจากนยงมกรณอนอกทท าใหตารางท 1.9 ไมเปนไปตามคณสมบตของ 2NF ไดแก

รหสลกคา, รหสสนคา ชอสนคา

21

จากขอมลในตารางท 1.9 จะสงเกตวาชอสนคาจะขนกบรหสสนคาเพยง อยางเดยว ไมขนกบรหสลกคาเลย ท าใหไมเปนไปตามคณสมบตของ 2NF มเพยงจ านวนสนคาอยางเดยวทขนกบรหสลกคา และรหสสนคา สรปวา

รหสลกคา,รหสสนคา จ านวนสนคา รหสลกคา ชอลกคา, ระดบ, ประเภท รหสสนคา ชอสนคา ดงนนถาตองการใหตารางท 1.9 มคณสมบตเปน 2NF จะตองท าการแตกตาราง

ออกมา ตามความสมพนธของฟงกชนการขนตอกน เปน 3 ตาราง ดงน

ตารางท 1.10 ขอมลลกคา รหสลกคา ชอลกคา ระดบ ประเภท

001 นาร A ชนด 002 ศรสมร B ปานกลาง 003 อรอนงค C พอใช

ตารางท 1.11 ขอมลสนคา ตารางท 1.12 ขอมลการสงซอสนคา รหสสนคา ชอสนคา รหสลกคา รหสสนคา จ านวนสนคา

P111 ปากกา 001 P111 10 P222 ดนสอ 001 P222 12 P333 ยางลบ 001 P333 10

002 P222 15 003 P333 16

จากตารางท 1.10 หากตองการเพมขอมลลกคาขนมาอก 1 คน อาจมปญหา

เกดขน คอ ถาลกคาทจะเพมเขาไปเปนลกคาในระดบ A แสดงวาตองเปนลกคาชนด ในชองประเภทตองใสวา “ชนด” เทานน ถาหากใสวา ปานกลาง หรอพอใช ขอมลกจะขดแยงกน เพราะฉะนนตารางทผาน 2NF บางตารางอาจเกดปญหาในเรองของการเพมขอมลได ดงนนจงตองมการนอรมลไลเซชนระดบท 3 ตอไป

22

1) ตองมคณสมบตของ 2NF 2) nonprime ตองไมขนกบ nonprime

2.3 Third Normal Form (3NF) ตารางทผานการท านอรมลไลเซชนระดบท 3 หรอ Third Normal Form ตองม

คณสมบตดงน

ตารางท 1.13 ขอมลใบเสรจรบเงนจากลกคา เลขทใบเสรจ รหสลกคา ชอลกคา ทอย

1001 43 กฤษณา 121 อ.เมอง จ.นนทบร 1002 55 ศกดสทธ 222 อ.ปากเกรด จ.นนทบร 1003 43 กฤษณา 121 อ.เมอง จ.นนทบร

จากตารางท 1.13 จะมแอตทรบวต เลขทใบเสรจ เปน prime สวน รหสลกคา ชอลกคา และทอย เปน nonprime นกศกษาตองพจารณากอนวาตารางท 1.13 มคณสมบตเปน 2NF หรอไม ซงจากขอมลจะสงเกตวามคณสมบตเปน 2NF เนองจากไมอยในรป repeating group และ nonprime ทกตวขนกบ prime ทกตว คอ รหสลกคา ชอลกคา และทอย ขนกบ เลขทใบเสรจ ซงเปน prime เพยงตวเดยว

เลขทใบเสรจ รหสลกคา, ชอลกคา, ทอย

เมอมคณสมบตเปน 2NF แลว กพจารณาตอวา nonprime ขนกบ nonprime หรอไม ถาไมม nonprime ตวใดขนตอกน กแสดงวามคณสมบตเปน 3NF แตจากขอมลในตารางท 1.13 ม nonprime บางตวทขนตอกน ไดแก ชอลกคาและทอย ขนกบรหสลกคา ท าใหไมเปนไปตามคณสมบตของ 2NF

รหสลกคา ชอลกคา, ทอย

23

ดงนนจงตองมการแตกตารางท 1.13 ออกมาเปน 2 ตาราง ตามความสมพนธของฟงกชนการขนตอกน ดงน ตารางท 1.14 ขอมลลกคาจากตารางท 1.13 ตารางท 1.15 ขอมลใบเสรจ รหสลกคา ชอลกคา ทอย เลขทใบเสรจ รหสลกคา

43 กฤษณา 121 อ.เมอง จ.นนทบร 1001 43 55 ศกดสทธ 222 อ.ปากเกรด จ.นนทบร 1002 55 1003 43

อกตวอยางหนง จากตารางท 1.10 ซงผานการนอรมลไลเซชนระดบท 2 แลว

แตยงมปญหาการเพมขอมลอย ดงทกลาวมาแลวขางตน จงตองมการท าใหเปน 3NF เนองจาก nonprime บางตวขนกบ nonprime คอ ระดบ ประเภท ดงนนจงตองแยก เปน 2 ตาราง ดงตอไปน

ตารางท 1.10 ขอมลลกคา รหสลกคา ชอลกคา ระดบ ประเภท

001 นาร A ชนด 002 ศรสมร B ปานกลาง 003 อรอนงค C พอใช

ตารางท 1.16 ขอมลลกคาจากตารางท 1.10 ตารางท 1.17 ขอมลระดบลกคา

รหสลกคา ชอลกคา ระดบ ระดบ ประเภท 001 นาร A A ชนด 002 ศรสมร B B ปานกลาง 003 อรอนงค C C พอใช

24

บทท 2

การใชงานโปรแกรม Microsoft Access

เมอท าการออกแบบฐานขอมลดวยแผนภาพทเรยกวา แบบจ าลองอ -อาร และท าการ นอรมลไลเซชนแลว จงน าฐานขอมลทออกแบบไวนนมาสรางใหใชงานไดจรงดวยโปรแกรมส าเรจรปในการจดการฐานขอมล ซงกคอ โปรแกรม Microsoft Accessทเลอกโปรแกรมน เนองจากเปนโปรแกรมทสามารถฝกใชงานไดงาย และเครองคอมพวเตอรสวนใหญจะมโปรแกรมน อยแลว เพราะเปนโปรแกรมหนงในชด Microsoft Office ซงสามารถศกษาการใชงานเบองตนไดดวยตนเอง ตงแตการสรางตาราง ฟอรม แบบสอบถาม และรายงาน เปนตน โครงสรางของโปรแกรม Microsoft Access

โปรแกรม Microsoft Access เปนโปรแกรมทใชในการจดการฐานขอมลอยางหนง เรมตงแตจดเกบขอมล ประมวลผล และออกสารสนเทศ ทสามารถน าไปใชประโยชนไดอยางมประสทธภาพ

โครงสรางของโปรแกรม Microsoft Access ประกอบดวย 1. ตาราง (table) ใชส าหรบเกบขอมลตางๆ ซงแตละตารางจะประกอบไปดวย

เขตขอมล (Field) และระเบยน (Record) 2. แบบสอบถาม (queries) ใชส าหรบดขอมล คนหาขอมล ตรวจสอบแกไข เพมเตม

หรอลบขอมลทตองการ 3. ฟอรม (form) ออกแบบมาเพอเปนสวนตดตอกบผ ใชส าหรบปอนขอมลและแสดง

ขอมล 4. รายงาน (report) ออกแบบมาใหมการจดรปแบบ มการค านวณและพมพออกมาเปน

รายงานได รวมทงมการสรปผลของขอมลทเลอก ซงสามารถดรายงานกอนพมพได 5. มาโคร (macro) เปนภาษาโปรแกรมงายๆ เพอการก าหนดโครงสรางล าดบขนตอนให

ปฏบตงานตามทตองการเพอตอบสนองกบเหตการณทก าหนดขน

26

6. โมดล (module) เปนการเขยนโปรแกรมดวยภาษา VBA (Visual Basic for Application) ซงใชในการท างานทคอนขางซบซอนกวาการใชแมโคร เพอใหไดฟอรมหรอรายงานตามความตองการของผใช

เรมตนใชงานโปรแกรม Microsoft Access 2010

เรยกใชงาน Microsoft Access 2010 ไดโดยการคลกทป ม Start All Programs Microsoft Access 2010 หรอคลกท icon จะปรากฏหนาจอดงภาพท 2.1

ภาพท 2.1 หนาจอเมอเปดโปรแกรม Microsoft Access 2010

27

วธการสรางฐานขอมลม 2 แบบ คอ 1. สรางฐานขอมลเปลา (Blank database) เพอก าหนดรปแบบของโครงสราง

ฐานขอมลดวยตนเอง โดยการคลกเลอก Blank database ตงชอฐานขอมลทจะสรางขนใหม และคลกป ม Create เพอสรางฐานขอมล ดงภาพท 2.2 จะปรากฏภาพท 2.3

ภาพท 2.2 วธการสรางฐานขอมลเปลา (blank database)

ภาพท 2.3 ฐานขอมลเปลา (blank database)

28

2. สรางฐานขอมลจากแมแบบ (Sample templates) ทโปรแกรมเตรยมไวหลายรปแบบส าหรบการใชงานในดานตางๆ เชน ฐานขอมลบคลากร (Personal) ฐานขอมลทางการศกษา (Education) และฐานขอมลการเงน (Finance) เปนตน โดยท าตามขนตอนไปทละขน เมอเสรจแลวจะไดไฟลฐานขอมลทน าไปใชงานไดทนท ถาตองการแกไขปรบปรงกสามารถท าไดในภายหลง ซงมวธการสรางโดยการคลกเลอก Sample templates จะปรากฏภาพท 2.4 แตตองมการเชอมตออนเทอรเนตดวย เพอเชอมตอกบเวบ Office.com

ภาพท 2.4 วธการสรางฐานขอมลจากแมแบบ (Sample templates)

29

สวนประกอบของหนาตางโปรแกรม Microsoft Access 2010

ภาพท 2.5 สวนประกอบของหนาตางโปรแกรม Microsoft Access 2010

ตารางท 2.1 หนาทของสวนประกอบของหนาตางโปรแกรม Microsoft Access 2010

สวนประกอบ หนาทการท างาน Tab File รวบรวมชดค าสงในการจดการฐานขอมล เชน การสราง การบนทก

การพมพ การส ารอง การตงคา Access 2010 Quick Access Toolbar แถบเครองมอทไดรวบรวมป มทใชงานบอยๆเอาไว เพอชวยใหท างาน

สะดวกรวดเรวขน และสามารถเพมหรอลดป มเครองมอเหลานได แถบชอเรอง (Title Bar) แถบแสดงชอเรองและเวอรชนของโปรแกรม รบบอน (Ribbon) แบงกลมการท างานหลกๆ ไวดวยกน มรบบอน Home, Create,

External Data, Database Tools, Fields, Tables บานหนาตางน าทาง (Navigation Pane)

แสดงสงตางๆ ทไดมการสรางขน เชน Table, Query, Form, Report เปนตน สามารถซอนและเปดใหมได

Document Window พนทหลกทใชในการท างาน

30

การท างานของเมนแบบรบบอน (Ribbon) ค าสงทงหมดทใชงานจะอยบนแถบสเหลยมผนผาตรงสวนบนทเรยกวา รบบอน

(Ribbon) ซงในการเรยกใชงานค าสงตางๆ จะสะดวกและรวดเรวกวาการเรยกใชค าสงในเมนแบบล าดบชนหรอเมนแบบ pull down

1. Tab Home

ภาพท 2.6 ค าสงใน Tab Home

Tab Home เปนแทบทรวบรวมค าสงเกยวกบการจดการขอมลบนหนาจอ ซงแบง

ออกเปนกลมตางๆ ดงน - View: ใชแสดงมมมองตางๆ เชน มมมองการแสดงขอมล และมมมองการ

ออกแบบ เปนตน - Clipboard: คดลอก เคลอนยาย และวางขอมลในต าแหนงทตองการ - Sort & Filter: เรยงขอมลและกรองขอมลตามเงอนไขทก าหนด - Record: กลมค าสงท างานกบเรคคอรด - Find: คนหาและแทนทขอมล - Text Formatting: จดแบบตวอกษร ยอหนา เปนตน

2. Tab Create

ภาพท 2.7 ค าสงใน Tab Create

Tab Create ประกอบดวยค าสงทใชงานการเรมตนสรางสวนตางๆ ของฐานขอมล

ไดแก - Tables: เปนกลมค าสงในการสรางตารางขอมล - Queries: เปนกลมค าสงในการสรางแบบสอบถามขอมล - Forms: เปนกลมค าสงในการสรางฟอรม

31

- Reports: เปนกลมค าสงในการสรางรายงาน - Macro & Module: เปนกลมค าสงในการสราง Macro และ Module

3. Tab External Data

ภาพท 2.8 ค าสงใน Tab External Data

Tab External Data รวบรวมค าสงในการน าเขาหรอสงออกขอมล ซงแบงออกเปนกลมตางๆ ดงน

- Import & Link: น าเขาขอมลจากฐานขอมล Microsoft Access หรอ Microsoft Excel

- Export: สงฐานขอมลออกเปน Microsoft Access, Microsoft Excel, HTML เปนตน

- Collect Data: สรางและจดการ E-mail รวมกบโปรแกรม Microsoft Outlook

4. Tab Database Tools

ภาพท 2.9 ค าสงใน Tab Database Tools

Tab Database Tools รวบรวมค าสงในการจดการฐานขอมล ไดแก - Tools: ค าสงทใชในการบบอดและซอมแซมฐานขอมล - Macro: ค าสงทใชรวมกบ Macro การแปลง Macro ใหเปนค าสงในภาษา Visual

Basic - Relationships: สรางความสมพนธระหวางตาราง - Analyze: ท าหนาทตรวจสอบและวเคราะหประสทธภาพในการท างานของ

ฐานขอมล - Move Data: ค าสงทใชในการตดตอระหวาง Access กบ SQL Server

32

- Add-Ins: ท าหนาทเพมค าสงแบบก าหนดเองและคณลกษณะใหมๆ เพอปรบปรงและเพมประสทธภาพในการท างานรวมกบโปรแกรม Access การแปลงไฟล .mdb ใหเปนไฟล .accdb

ไฟลฐานขอมลเวอรชนเกา เชน Access 97, 2000, 2002-2003 (ไฟล .mdb) จะเปดใชในโปรแกรม Access 2010 ได แตจะท างานรวมกบความสามารถใหมๆ ของ Access 2010 ไมได จงตองแปลงใหเปนไฟล .accdb (Access 2007) กอน โดย

1. เลอก Open จากเมน File 2. เลอกไฟลทตองการจะแปลง 3. เลอก Save & Publish จากเมน File 4. เลอก Access Database 5. คลก Save As 6. หลงจากแปลงไฟลเสรจแลว จะมขอความแจงวา ไฟลทแปลงแลวจะใชกบโปรแกรม

Access เวอรชนเกาไมได ใหคลก OK 7. เขาสวนโดว Database ของไฟลใหม ทหววนโดวจะบอกวารปแบบไฟล คอ Access

2007 ซงเปนไฟลแบบ .accdb

ภาพท 2.10 เปดไฟลทตองการจะแปลงไฟล

33

ภาพท 2.11 ขนตอนการแปลงไฟล.mdb ใหเปนไฟล .accdb

การจดเกบไฟลฐานขอมล

1. การจดเกบไฟลเปน .accdb และ .mdb ถาจะเกบไฟลแทนทไฟลเดม ใหใชค าสง Save ถาจะเกบไฟลใหมโดยชนดไฟล

เหมอนเดม ใช Save Database As แตถาจะเลอกชนดไฟลตางจากเดม ใชค าสง Save & Publish โดยสามารถเลอกรปแบบทตองการจดเกบไดดงน

- Access Database จะจดเกบเปนไฟล .accdb (Access2007) - Access 2002-2003 Database จะจดเกบเปนไฟล .mdb - Access 2000 Database จะจดเกบเปนไฟล .mdb 2. การจดเกบไฟลเปน .accdt (template)

ไฟลฐานขอมลทจะน ามาสราง template ตองเปนไฟล .accdb เทานน ในการจดเกบไฟลใหใชค าสง Save & Publish แลวคลกเลอกรปแบบ Template โปรแกรมจะจดเกบเปนไฟล .accdt

34

ภาพท 2.12 ประเภทของไฟลฐานขอมล

บทท 3

การสรางตาราง (Table)

ตาราง (Table) คอ องคประกอบหลกอยางหนงในฐานขอมล เปนสวนทตองสรางขนเปนอนดบแรก เพอใชในการเกบขอมลทงหมดทอยในฐานขอมล โดยในการสรางตารางนนมหลายรปแบบดวยกน ซงเราสามารถจดการกบขอมลในตารางเพอใหเกดความสะดวกและรวดเรวในการท างานมากยงขนได เชน การเรยงล าดบขอมล การกรองขอมล และการคนหาขอมล เปนตน

มมมองของตาราง

มมมอง (View) คอ รปแบบการท างานกบ Table ซงมอยดวยกนทงหมด 4 แบบ ตามลกษณะและวตถประสงคของการใชงาน คอ

1. มมมอง Design ใชในการออกแบบ และแกไขโครงสรางของตาราง เชน เพมลบเขตขอมล (field) แกไขชอเขตขอมล ก าหนดชนดขอมล ก าหนดคย ก าหนดคณสมบตตางๆ ของเขตขอมล (Properties) เปนตน

2. มมมอง Datasheet ใชในการปอนขอมล หรอแสดงขอมลทเกบไวในตาราง โดยแสดงในรปของตาราง ในมมมองนสามารถเพม ลบ หรอแกไขเรคอรดได

3. มมมอง PivotTable ใชวเคราะหและสรปผลขอมลในตารางโดยแสดงในรปของตารางแจกแจงรายละเอยดขอมลและสรปผลขอมล

4. มมมอง PivotChart ใชวเคราะหและสรปผลขอมลในตารางโดยแสดงในรปของแผนภมหรอ Chart

36

สวนประกอบของตาราง 1. ไอเทม (Item) คอ ขอมลทเกบอยในแตละเซลลของตาราง 2. field (Field) คอ ขอมลในแนวคอลมน (แนวตง) 3. เรคอรด (Record) คอ ขอมลในแตละแถวของตาราง 4. ตาราง (Table) คอ สวนของตารางทงหมดทใชในการเกบขอมล ซงถาน าหลายๆ

ตารางมารวมกนทงหมด จะเรยกวา ฐานขอมล หรอ Database

ภาพท 3.1 ตวอยางแสดงสวนประกอบของตาราง

37

การสรางตาราง 1. คลกแทบ Create 2. เลอกป ม Table Design 3. ตงชอ Field ในชอง Field Name 4. เลอกประเภทของขอมลในชอง Data Type 5. ใสรายละเอยดยอๆ ของแตละ field ในชอง Description (จะใสหรอไมกได) 6. ก าหนดขนาดของ field ในชองคณสมบต Field Size

ภาพท 3.2 ขนตอนการสรางตาราง

Field Properties

38

การตงชอ field - ชอ field ตองไมยาวเกน 64 ตวอกษร รวมทงชองวางดวย - หามตงชอ field ซ ากน - สามารถใชตวอกษร ตวเลข ชองวาง ในการตงชอ field ได - หามใชเครองหมาย จด (.) อศเจรย(!) และกามป([ ]) ในการตงชอ field - หามเรมชอ field ดวยชองวาง

ชนดขอมล ชนดขอมล (data type) เปนสวนทใชก าหนดชนดของขอมลในแตละ field โดยตองเลอก

ใหสอดคลองกบขอมลทจะจดเกบในแตละ field ซงมทงหมด 11 ชนด คอ 1) Text ขอความทประกอบไปดวยตวอกขระทอาจเปนตวอกษร สญลกษณพเศษ

ชองวาง หรอตวเลขประกอบกน ซงถาเปนตวเลขอยางเดยวจะตองเปนตวเลขทไมใชในการค านวณ เชน หมายเลขบตรประจ าตวประชาชน รหสนกศกษา เบอรโทรศพท บานเลขท และรหสไปรษณย เปนตน โดยสามารถบรรจขอมลไดสงสดจ านวน 255 ตวอกขระ

2) Memo ขอความทเปนตวอกขระทมความยาวมากๆ และมากกวา 255 ตวอกขระ แตไมเกน 65,535 ตวอกษร สวนมากใชในการเกบขอมลและรายละเอยดทมความยาวของขอมลมากๆ นนเอง

3) Number ขอมลทเปนตวเลข สามารถน าไปค านวณได เชน จ านวนสนคา และจ านวนหนวยกต เปนตน

4) Date/Time ขอมลทเปนวนทและเวลา 5) Currency ขอมลทเปนตวเลข ใชในการค านวณขอมลเกยวกบการเงน เชน ราคา

สนคา คาหนวยกต เงนเดอน รายรบ และรายจาย เปนตน 6) Auto Number เปนตวเลขจ านวนเตมแบบล าดบท ซงโปรแกรมจะก าหนดคาใหโดย

อตโนมตเมอมการเพมเรคอรดใหมเขามาในตาราง 7) Yes/No เปนขอมลทางตรรกะ ซงมสถานะเปนจรงหรอเทจ เชน True/False, Yes/No,

หรอ On/Off และจะเปนคาวางไมได 8) OLE Object ขอมลทเปนการเชอมโยงหรอน าเขาขอมลจากโปรแกรมอนๆ มาเกบไว

เชน รปภาพ ตาราง กราฟ และเสยง เปนตน OLE ยอมาจาก Object Linking and Embedding เปนเทคนคของการประยกตใชงานบนวนโดวส ทใชในการแลกเปลยนขอมลระหวางกน เชน สามารถน ารปภาพจากโปรแกรม PhotoShop มาใชใน Microsoft Word ได เปนตน

39

9) Hyperlink เปนขอมลหรอแอดเดรสทใชอางองไปยงขอมลอนๆ หรอระบการเชอมโยงในแบบของเวบเพจ ซงแสดงดวย URL (Uniform Resource Locator) โดยการอางองไปยงแหลงขอมลอน ซงอาจเปนไดทงไฟลฐานขอมลของโปรแกรมไมโครซอฟตแอกเซสเอง หรอไฟลของโปรแกรมอนทอยในเครองเดยวกน นอกจากนยงสามารถเชอมโยงไปยงเวบไซตบนอนเทอรเนตได

10) Attachment เหมอนไฟลแนบในอเมล เปนไฟลชนดใดกได เชน Word, Excel 11) Calculated ผลของการค านวณจาก fieldอนในตาราง Lookup Wizard … ทแสดงในเมน Data Type นน ไมใชชนดขอมลแตเปนเครองมอชวย

ปอนขอมลและน าเขาขอมลจาก Table อนๆ ของฐานขอมล คณสมบตของ field คณสมบตของ field (Field Properties) เปนสวนทใชก าหนดคณสมบตของแตละ field

เชน ก าหนดขนาดของ field รปแบบทใชในการปอนขอมล รปแบบการแสดงผลขอมล และก าหนดเงอนไขทใชตรวจสอบคาใน field เปนตน

- Field Size คอ ขนาดของ field หรอความยาวของขอมลทสามารถปอนเขาไปได เชน รหสไปรษณย จะมความยาว 5 อกขระ คา default ของ Field Size คอ 255 อกขระ ดงนนถาเราก าหนดใหเลกลงได กจะชวยลดการเกบพนทขอมล

- Format ใชในการก าหนดรปแบบในการแสดงขอมลทหนาจอ แตไมไดเปลยนขอมลจรง เชน ตารางท 3.1 ตวอยางรปแบบในการแสดงขอมล สญลกษณ ค าอธบาย ตวอยาง

@ อกขระ 1 ตว และทกชองจะตองมขอมล แตถาไมปอน Access จะใสชองวางให

@@-@@@ แสดงเปน 43-001

< แสดงตวอกษรเปนตวพมพเลกทงหมด แสดงเปน bangkok > แสดงตวอกษรเปนตวพมพใหญทงหมด แสดงเปน BANGKOK

- Decimal Place ใชก าหนดวาจะใหแสดงจดทศนยมกต าแหนง ซงจะใชไดกบขอมลชนด Number และ Currency เทานน

- Input Mask ใชก าหนดรปแบบในการปอนขอมล เพอความสะดวกรวดเรว เชน หมายเลขโทรศพท และหมายเลขบตรประชาชน เปนตน

40

- Caption ใชก าหนดขอความทแสดงในสวนหวคอลมนใน Datasheet View หรอเปนชอทจะปรากฏใน Form หรอ Report

- Default Value ใชก าหนดคาเรมตนของขอมลใน field พมพใหมได แตถาไมพมพใหมกจะมคาเปน Default Value

- Validation Rule ใชก าหนดเงอนไขส าหรบคาของขอมล เชน ใน field น จะตองปอนขอมลเพยง 2 คา คอ หญง หรอ ชาย เทานน ถาปอนนอกเหนอจากนแลว จะแสดงกรอบหนาตางเตอน และไมสามารถปอนนอกเหนอจากทก าหนดไวได เชน ตารางท 3.2 ตวอยางการก าหนดเงอนไขส าหรบคาของขอมล ก าหนดคา ความหมาย “หญง” or “ชาย” ปอนไดเปนหนงในสองคานเทานน Between #01/01/2007# and #31/12/2007#

ปอนไดตงแตวนท 1 ม.ค. 2007 ถง 31 ธ.ค. 2007 เทานน

>0 ปอนดวยคาทมากกวาศนยเทานน >= Date() ปอนดวยวนทเปนวนทปจจบนเปนตนไป

- Required ถาเลอก Yes จะตองปอนขอมลลงไปใน field เสมอ ปลอยวางไวไมได - Allow Zero Length ถาจะให field แบบ Text หรอ Memo รบขอมลทเปนคาวาง

(Null) หรอขอความทมความยาวเปนศนย เชน “” (ไมมชองวางในเครองหมายค าพด) ใหตงคาเปน Yes

- Indexed จะให field นนเปนดชนหรอไม No (ไมเปนดชน), Yes (Duplicates OK) (เปนดชนทมคาซ ากนได), Yes (No Duplicates) (เปนดชนทมคาซ ากนไมได)

- Unicode Compression ใชกบขอมล Text, Memo, และ Hyperlink เพอบบอดขอมลทใชรหสแบบ Unicode (Unicode จะใช 2 ไบตแทนอกขระ 1 ตว ท าใหใชพนทเกบขอมลมากกวาปกต) คาเรมตนของคณสมบตนเปน Yes เพอใหอกขระทกตวทไบตแรกมคาเปน 0 เชน ภาษาองกฤษ, สเปน, เยอรมน ถกบบอดบนอปกรณเกบขอมล และคลายออกเมอน าไปใช การบบอดจะไมเกดขนถาขนาดขอมล Memo นอยกวา 4,096 ไบต หรอบบอดแลวไมท าใหขนาดขอมลเลกลง

- IME Mode และ IME Sentence Mode ใชกบขอมล Text, Memo, Date/Time และ Hyperlink พบคณสมบตนใน Control Text Box, Combo Box และ List Box ในมมมอง

41

Design ของ Form ดวย ใชในกรณตดตงโปรแกรม Input Mode Editors (IME) เพอเปลยน layout ของคยบอรดใหสามารถคยตวอกษรในภาษาแถบเอเซยตะวนออก เชน จน ญป น และเกาหล เปนตน

- Smart Tags ชวยในการท างานระหวางฐานขอมล Access กบโปรแกรมภายนอกสะดวกขน เชน การเรยกใชโปรแกรมรบ-สงอเมล การนดหมาย การตดตอกบบคคล เมอผใชคลก field ขอมลทจะตดตอกบโปรแกรมภายนอกจะมไอคอน Smart Tags ทมมลางของ field ใหเลอการท างานไดจากเมน

- Text Format ใชกบขอมลแบบ Memo ถาตงคาเปน Plain Text หมายถงแสดงขอความโดยไมตองจดรปแบบ สวน Rich Text หมายถงแสดงขอความแบบจดรปแบบ เชน ตวหนา ตวเอน ยอหนา เปนตน

- Text Align ใชกบขอมลทกชนดยกเวน Attachment ท าหนาจดต าแหนงขอมล เชน ชดซาย ชดขวา เปนตน

- Show Date Picker ใชกบขอมล Date/Time เทานน ม 2 ทางเลอก คอ For Dates หมายถงใหแสดงปฏทนเลกๆ เพอเลอกวน /เดอน/ป จากปฏทนโดยไมตองคยเอง และ Never หมายถงไมตองแสดงปฏทน ผใชจะคยวน/เดอน/ป ลงไปเอง

การก าหนดคยหลก (Primary Key) - คยหลก หรอ Primary Key คอ field ทมขอมลใน record ทไมซ ากน เพอเปนตว

ก าหนดใหทก record ตางกน - ประโยชน คอ เมอมการปอนขอมลใน field ทก าหนดเปน Primary Key ซ ากนแลว ก

จะเกดค าเตอนขน และใหปอนขอมลใหม - Primary Key จะเปน field ทไมวาง จะตองมคาอยเสมอ ตวอยาง เลขบตรประจ าตว

ประชาชน และรหสผ ปวย เปนตน

42

ภาพท 3.3 ขนตอนการสรางคยหลก (Primary Key) การเพมขอมลในตาราง (เรคคอรด) การเพมขอมลในตาราง สามารถท าไดหลายวธ ดงตอไปน

ภาพท 3.4 ขนตอนการเพมขอมลในตาราง

43

การลบขอมลในตาราง 1. เลอก record ทตองการจะลบ 2. การลบขอมลในตาราง สามารถท าไดหลายวธ ดงตอไปน

ภาพท 3.5 ขนตอนการลบขอมลในตาราง การท างานกบ Record Navigator

ภาพท 3.6 การท างานกบ Record Navigator

44

การจดรปแบบขอมลในตาราง

ภาพท 3.7 เครองมอการจดรปแบบในตาราง

การเรยงล าดบขอมล (Sort) การเรยงล าดบขอมล ท าไดสองทางดงน

ภาพท 3.8 วธการเรยงล าดบขอมล (วธท 1)

45

ภาพท 3.9 วธการเรยงล าดบขอมล (วธท 2)

46

การกรองขอมลใน field

หลงจากคลก OK แลว จะเหลอแตเรคอรดทไมมค าวา ชาย

ภาพท 3.10 วธการกรองขอมลใน field

47

การกรองขอมลแบบเลอกรายการ 1. คลกขวาในชองขอมลชองใดกไดของคอลมนทตองการกรอง

2. เลอก Text Filters

ภาพท 3.11 วธการกรองขอมลแบบเลอกรายการ

48

ตวอยางการกรองขอมลแบบเลอกรายการ

1. เลอก Does Not Begin With 2. เตม นาย แลวคลก OK

ภาพท 3.12 ตวอยางการกรองขอมลแบบเลอกรายการ

49

ตวอยางผลลพธการกรองขอมลแบบเลอกรายการ

ภาพท 3.13 ตวอยางผลลพธการกรองขอมลแบบเลอกรายการ

การกรอง record โดยเกบไวแตเรคอรดทขอมลในชอง Title ไมเรมตนดวยค าวา นาย

ออกไปนน จะเหลอเรคอรดดงทเหนน กด Toggle Filter เพอดกลบไปกลบมา ระหวางขอมลกอนและหลงกรอง

การคนหาขอมล

ภาพท 3.14 ขนตอนการคนหาขอมล

50

การก าหนดรายละเอยดในการคนหา - ชอง Find What พมพค าทตองการคนหา - ชอง Look In เลอกแหลงคนหา (Current Document, Current Field) - ชอง Match ก าหนดความสมพนธของขอมลทตองการคนหา o Any Part of Field ขอมลทคนเปนสวนหนงของ field o Whole Field ขอมลทคนเปนทงหมดของ field o Start Field ขอมลทคนเปนคาเรมตนของ field

- ชอง Search กาหนดทศทางการคนหา (All, Up, Down) - ท Match Case ก าหนดใหหาตรงตามทพมพเขาไปเทานน เชน ถาหา MISS จะไมเจอ

record ทเขยนวา Miss

การคนหาแบบเรว

ภาพท 3.15 ขนตอนการคนหาขอมลแบบเรว

51

การค านวณขอมลในตาราง

ภาพท 3.16 ขนตอนการค านวณขอมลในตาราง การสรางความสมพนธ (Relationship) การสรางฐานขอมลดนน สวนมากจะมมากกวา 1 ตาราง เพราะในแตละงานทเราตองการ

เกบขอมล กมกมสวนประกอบมากกวา 1 สวน เชน ขอมลโกดงเกบสนคา อาจจะมขอมลสวนของลกคา สวนของออเดอร สวนของสนคา ซงอาจแยกไปเปนสนคาขายสง ขายปลก สนคาลดราคา เปนตน ซงผสรางฐานขอมลตองคดใหรอบคอบตงแตแรก วาในงานทตองการเกบขอมลน มขอมลทแบงเปนชนดตางๆ อะไรไดบาง โดยยดวาตองแบงอยางมเอกภาพ สวนเดยวกนตองมเนอหาเปนเรองเดยวกน ในการสรางฐานขอมล ขอมลแตละสวน จะมตารางเปนของตวเอง

ตวอยางความสมพนธ - ลกคา: ชอ, นามสกล, ทอย, เบอรโทรศพท, รหสลกคา - สนคา: รหสสนคา, ชนด, ราคา, จ านวนคงคลง - ออเดอรลกคา: เบอรออเดอร, รหสลกคา, รหสสนคา, จ า นวนสนคา, วนทสง, สถานะ - ลกคาพเศษ: รหสลกคา, ระยะเวลาทเปนลกคามา, ราคาทซอเฉลยตอเดอน, วนเกด

52

ภาพท 3.17 ตวอยางความสมพนธระหวางตาราง

53

ตวอยางการสรางความสมพนธของตาราง 1. คลกแทบ Database Tools และคลกป ม Relationships

ภาพท 3.18 ขนตอนการความสมพนธระหวางตาราง

2. ใช Mouse ลากใหเกดความสมพนธระหวาง CustomerID ในตาราง Customer และ CustomerOrder

54

3. จะมหนาจอขนมาถาม โดย Access จะก าหนดชนดความสมพนธใหโดยอตโนมต 4. ใหเลอก Enforce Referential Integrity, Cascade Update Related Fields, และ

Cascade Delete Related Fields เพอทวา เมอใดกตามท record มการเปลยนแปลงทตารางใดตารางหนง กให update กบตารางอนทมความสมพนธดวย

ภาพท 3.19 หนาจอ Edit Relationships

บทท 4 การสรางแบบสอบถาม (Query)

การสรางแบบสอบถาม (query) เปนเครองมอทใชในการคนหาขอมลตามเงอนไขท

ก าหนด เรยงล าดบหรอจดกลมขอมลใหอยในรปแบบทตองการ แสดงผลขอมลทมาจากหลายตารางทมความสมพนธกน เปลยนแปลงรปแบบของการแสดงผล ปรบปรงขอมลในตาราง ค านวณผลลพธหรอสรปผลขอมลจากตารางตางๆ และสามารถก าหนดตวแปรเพอรบคาทใชเปนเงอนไขในการคนหา ค านวณผลลพธ หรอวเคราะหสรปผลขอมลไดดวย

มมมองของแบบสอบถาม มมมองของแบบสอบถาม ม 5 ลกษณะ คอ

1. มมมองออกแบบ (design) เปนมมมองทใชในการออกแบบและสรางแบบสอบถาม ซงประกอบดวยเงอนไขและกฎเกณฑตางๆ ทจะน าไปใชคนหาหรอแสดงขอมลทตองการ

2. มมมองแผนขอมล (datasheet) เปนมมมองทใชแสดงขอมลทงหมดทคนหาได ตามเงอนไขทก าหนดไวใน แบบสอบถาม โดยแสดงในลกษณะ datasheet เหมอนกบ table

3. มมมอง SQL เปนมมมองทใชสรางหรอแสดงเงอนไขทก าหนดไวในแบบสอบถาม ดวยรปแบบของภาษาเอสควแอล (Structured Query Language : SQL)

4. มมมอง pivot table เปนมมมองทใชแสดงขอมลทไดจากการรนแบบสอบถาม ตามเงอนไขทก าหนดไว โดยแสดงในรปของตารางแจกแจงรายละเอยดและสรปผลขอมล

5. มมมอง pivot chart เปนมมมองทใชแสดงขอมลทไดจากการรนแบบสอบถาม โดยวเคราะหหรอสรปผล ในรปของแผนภมหรอ chart

56

ประเภทของแบบสอบถาม Access แบงแบบสอบถามเปน 5 ประเภท คอ 1. Select Query สอบถามขอมลจาก 1 หรอหลายๆ ตาราง 2. Crosstab Query สอบถามขอมลและแสดงผลลพธแบบ 2 มต โดยสลบขอมล

ระหวางแนวแถวและแนวคอลมน

3. Action Query - Make-Table Query สรางตารางใหม ซงประกอบดวย field ทเลอกจาก Table

หรอ Query อนทสรางไว - Update Query แกไขขอมลในตารางนนใหมคาตามทก าหนด

- Append Query เพม record หรอกลมของ record ใหมตอทาย record สดทายของตาราง

- Delete Query ลบ record หรอกลมของ record ออกจากตาราง 4. Parameter Query เปน Query ทใชใสคาพารามเตอรไดระหวางการประมวลผล

เพอน าไปใชคนหาขอมลหรอค านวณคา เชน ใสอตราการเปลยนแปลงตนทนและราคาสนคา เพอค านวณหาก าไร ณ อตราตางๆ

5. SQL Query สรางดวยภาษา SQL ซงเปนภาษามาตรฐานทใชจดการฐานขอมล

- Union Query รวมขอมลใน field ชนดเดยวกนจากหลายๆ ตาราง มาไวใน 1 field ของ 1 ตาราง

- Pass-Though Query สงค าสงไปยง ODBC Database Server โดยใชค าสงภาษา SQL ของ Server นน

- Data Definition Query สรางหรอเปลยนแปลงโครงสรางตารางในฐานขอมล (ค าสง SQL ทท างานในลกษณะนจะมชอเฉพาะวา Data Definition Language (DDL))

57

วธการสรางแบบสอบถาม การสรางแบบสอบถาม ท าได 3 วธ คอ 1. สรางแบบสอบถามโดยใชตวชวยสราง (Query Wizard) เปนวธการสราง

แบบสอบถาม แบบงายๆ และรวดเรว โดยตอบค าถามและใหขอมลในการสราง แบบสอบถามผานทางไดอะลอกบอกซทโปรแกรมไมโครซอฟตแอกเซสเตรยมไวใหท าตามอยางเปนล าดบขนตอน

2. สรางแบบสอบถามในมมมองออกแบบ (Design View) เปนวธการสรางแบบสอบถาม ดวยตนเอง โดยผสรางจะเปนผก าหนดรายละเอยดตางๆ เองทงหมด ซงท าใหไดแบบสอบถามทเหมาะสมและตรงกบความตองการมากทสด แตผ สรางตองมความเชยวชาญ ในการสรางและออกแบบแบบสอบถามมากกวาวธแรก

3. สรางแบบสอบถามในมมมอง SQL สรางและแกไขแบบสอบถามดวยภาษา SQL ใชกบแบบสอบถามบางประเภททสรางดวย Wizard หรอมมมอง Design ไมได เชน Union Query และ Pass-Through Query เปนตน

สรางแบบสอบถามโดยใชตวชวยสราง

เครองมอชวยสราง Query ม 4 ประเภท คอ 1.1 Simple Query Wizard สราง Select Query คนหาและประมวลผลขอมล โดยเลอก

แสดงผลลพธแบบรายละเอยดหรอผลสรปได 1.2 Crosstab Query Wizard สราง Crosstab Query คนหาและประมวลผลขอมล โดย

แสดงตารางแจกแจงขอมลทสลบแนวแถวและแนวคอลมนพรอมคาผลสรปของขอมลนน 1.3 Find Duplicate Query Wizard สราง Select Query คนหาวาม record ใดบางทม

ขอมลซ ากนใน field ทก าหนด 1.4 Find Unduplicated Query Wizard สราง Select Query คนหาขอมลในตารางหนง

โดยแสดงเฉพาะ record ทไมสามารถจบคกบ record ในตารางอนทสมพนธกน

58

ภาพท 4.1 เครองมอชวยสราง Query

59

การสรางแบบสอบถามดวยมมมองการออกแบบ

1. สวนประกอบในมมมองออกแบบ

ภาพท 4.2 สวนประกอบในมมมองออกแบบ

1.1 Field List Pane แสดงชอ Table / Query ทเปนแหลงขอมลของ Query แสดงชอ

field และเสนความสมพนธระหวางตาราง 1.2 Query Design Grid ประกอบดวย

- Field: ใสชอ Field ทจะใชสอบถามขอมล - Table: ใสชอ Table / Query ทเปนแหลงขอมล - Total: ใชจดกลมและค านวณคาผลสรป (จะแสดงแถวนเมอคลกป ม Totals

ในแทบ Design) - Sort: ก าหนดรปแบบการจดเรยงขอมล โดย Ascending จะเรยงจากนอยไป

มาก สวน Descending จะเรยงจากมากไปนอย และ not Sorted คอ ไมตองจดเรยง - Show: ซอน field ทไมใหแสดงคาในตารางผลลพธ โดยคลกเอาเครองหมาย

ในชองสเหลยมออก - Criteria: ใสเงอนไขทใชสอบถามขอมล

Field List

Pane

Query Design

Grid

60

2. วธการสรางแบบสอบถามดวย Query Design การสรางแบบสอบถามดวยมมมองการออกแบบเปนการสอบถามขอมลดวยการ

ออกแบบดวยตนเอง ซงมขนตอนดงน

ภาพท 4.3 ขนตอนการเรมตนสรางแบบสอบถามดวย Query Design

61

หากตองการสอบถามตารางลกคา ( tblCustomers) โดยถามถง รหสลกคา (CustomerID), ชอ (FirstName), และนามสกล (LastName) เทานน มขนตอนและผลลพธดงน

ภาพท 4.4 ขนตอนและผลลพธการสรางแบบสอบถามดวย Query Design

62

การบนทกผลของแบบสอบถามขอมล - หลงจากผลของแบบสอบถามไดแสดงออกมาในรปแบบ Datasheet หรอตาราง

แลว ใหกดป ม Save ทดานมมบนซาย - Access จะใหตงชอของแบบสอบถามน สมมตตงวา myQuery1 - หลงจาก Save แลว จะปรากฏหนาจอดงน

ภาพท 4.5 หนาจอการบนทกผลของแบบสอบถามขอมล

63

การสรางแบบสอบถามขอมลจากตารางมากกวา 1 ตาราง

ภาพท 4.6 ขนตอนการสรางแบบสอบถามขอมลจากตารางมากกวา 1 ตาราง

64

การแกไขแบบสอบถามขอมล - ใหบนทกแบบสอบถามทเพ งทาเสรจ (แบบมความสมพนธ) ดวยชอวา

myQuery2 หลงจากนนใหปดโปรแกรม MS Access - เปดโปรแกรม MS Access ใหม และเปดฐานขอมล VDO ใหมอกครง - คลก myQuery2 ในหนาตางน าทางดานซายมอเพอเปดแบบสอบถามนขนมาอก

ครง โดยครงนมจดประสงคเพอทาการแกไขแบบสอบถามขอมล - เขา Design View

ภาพท 4.7 ขนตอนการแกไขแบบสอบถามขอมล ค าตอบทได: แสดงรายการชอ ป และรหสของหนงทมการเชา รวมถงวนทเชา ชอและ

นามสกลของลกคา ทงหมด * เมอไดค าตอบแลวให Save ไวดวย

65

การก าหนดเงอนไขในการคนหาขอมล - ในการก าหนดเงอนไขในการคนหาขอมลนน เราสามารถกาหนดไดทชอง criteria ใน

Design View หลงจากทสรางแบบสอบถามแลว - เราสามารถกาหนดเงอนไขตางๆทตองการได โดยการใช operator ตางๆ ซงไดแก

1) โอเปอเรเตอรทางคณตศาสตร (เชน บวก ลบ คณ หาร เปนตน) 2) โอเปอเรเตอรทางการเปรยบเทยบและกาหนดคา (เชน เทากบ นอยกวา มากกวา

เปนตน) 3) โอเปอเรเตอรทางตรรกศาสตร (เชน และ หรอ ไม เปนตน) 4) โอเปอเรเตอรเกยวกบการเชอมขอความ

โอเปอเรเตอร (Operator) ทางคณตศาสตร

Operator ค าอธบาย + เครองหมายบวก เชน 1 + 1 = 2 – เครองหมายลบ เชน 2 – 1 = 1 * เครองหมายคณเชน 3 + 2 = 5 / เครองหมายหารเชน 5/2 = 2.5 \ เครองหมายหารแบบเอาแตจานวนเตม ไมสนใจเศษ เชน 5\2 = 2

Mod เครองหมายหารแบบเอาแตเศษทเหลอ เชน 5 Mod 2 = 1 ^ เครองหมายยกกาลง เชน 2^3 = 6

โอเปอเรเตอร (Operator) ทางการเปรยบเทยบและก าหนดคา

Operator ค าอธบาย < นอยกวา <= นอยกวาหรอเทากบ > มากกวา >= มากกวาหรอเทากบ = เทากบ <> ไมเทากบ

66

Operator ค าอธบาย Between ใชในการตรวจสอบวามคาอยในระหวาง 2 คาทกาหนดมาหรอไม เชน

Between 10000 And 20000 Like ใชในการตรวจสอบวาอกขระนนตรงกบทกาหนดหรอไม โดยท

-* แทนอกขระใดๆ กตวกได -? แทนอกขระ 1 ตว -# แทนตวเลข 1 ตว -! แทนการยกเวนอกขระทอยหลงเครองหมายน -[ ] แทนชวงตวอกษรหรอตวเลข เชน Like “สม*”

In ใชในการกาหนดวามคาใดตรงกบคาในรายการหรอไม เชน In (“บญช”, “สารสนเทศ”)

โอเปอเรเตอร (Operator) ทางตรรกศาสตร

Operator ค าอธบาย And ใหคาจรงตอเมอทง 2 คาเปนจรง Or ใหคาจรงเมอคาใดคาหนงเปนจรง Xor ใหคาจรงเมอเปนจรงเพยง 1 คา Not ใหคาเปนตรงกนขาม

โอเปอเรเตอร (Operator) ในการเชอมขอความ

Operator ค าอธบาย & ใชในการเชอมตอขอความ เชน [FirstName]&“ ”&[LastName]

67

ตวอยางการก าหนดเงอนไข

ตวอยางท 1 เลอกทกคอลมนของตาราง tblCustomerID ท City เทากบ “MyTown”

ภาพท 4.8 ขนตอนและผลลพธการก าหนดเงอนไขของตวอยางท 1

68

ตวอยางท 2 เลอกทกคอลมนของตาราง tblCustomerID ท LastName ขนตนดวย Ba

ภาพท 4.9 ขนตอนและผลลพธการก าหนดเงอนไขของตวอยางท 2

69

ตวอยางท 3 เลอกทกคอลมนของตาราง tblCustomerID ท LastName มเพยง 4 อกขระ

ภาพท 4.10 ขนตอนและผลลพธการก าหนดเงอนไขของตวอยางท 3

70

ตวอยางท 4 เปด myQuery2 ออกมา คงไวเหมอนเดมทกอยาง เวนแตวาตองการรายการทเชาหนงหลงจากวนท 25 กนยายน 2550 เทานน

ภาพท 4.11 ขนตอนและผลลพธการก าหนดเงอนไขของตวอยางท 4

71

ตวอยางท 5 จงคนหาขอมลดงน ชอลกคา รหสของหนงทลกคาคนนนเชาไป และชอหนง โดยกาหนดวา หนงตองออกมาในระหวางป 1990 – 2000 หรอ มากกวา 2002 เทานน

ภาพท 4.12 ขนตอนและผลลพธการก าหนดเงอนไขของตวอยางท 5

72

ตวอยางท 6 จงคนหาขอมลทงหมดจากตาราง tblCustomers โดยมเงอนไขวา ลกคาตองมชอจรงวา Lisa, Peggy, หรอ Mary เทานน

ภาพท 4.13 ขนตอนและผลลพธการก าหนดเงอนไขของตวอยางท 6

73

การสรางฟลดใหมจากการรวมฟลด สามารถท าไดโดยการเตมฟลดใหมทตองการในรปแบบชอฟลดใหม:

[ฟลดท 1]&[ฟลดท 2]& … เชน

ภาพท 4.14 ขนตอนและผลลพธการสรางฟลดใหมจากการรวมฟลด

74

การเรยงฟลด (Sort) - ใชตวอยางทแลวแตจะเรยงจากตวอกษรกอนไปหลง หรอ Ascending - Descending = จากหลงมาหนา (ถาเปนตวเลข มากกวา ไปนอยกวา)

ภาพท 4.15 ขนตอนและผลลพธการเรยงฟลด

75

การสรางฟลดค านวณ

เราสามารถสรางฟลดใหมเปนฟลดค านวณคดเลขใหเราได โดยใชรปแบบดงน ชอฟลดใหม: สตร

ตวอยางเชน จากตาราง tblRental จงหาวาถาลดราคา 25% จะลดเทาไร และราคาหลงลดแลวเทากบเทาไร

ภาพท 4.16 ขนตอนและผลลพธการสรางฟลดค านวณ

76

การใช IIF รปแบบ IIF(เงอนไข, คาทไดเมอเงอนไขเปนจรง, คาทไดเมอเงอนไขเปนเทจ) เชน

ภาพท 4.17 ขนตอนและผลลพธการใช IIF

77

การสรางแบบสอบถามในมมมอง SQL ในการสราง Query ดวย Wizard และสรางดวยตนเองในมมมอง Design จะเหมอนกน

ตรงทไมจ าเปนตองทราบโครงสรางภาษา SQL ทซอนอยเบองหลงการท างานของ Query นน แมจะท างานรวมกบ Query ไดโดยไมจ าเปนตองรภาษา SQL เลยกตาม แตถาไดทราบการท างานของภาษา SQL บาง กจะชวยใหท างานรวมกบ Query บางประเภททไมสามารถสรางดวย Wizard หรอมมมอง Design ได เชน Union Query, Pass-Though Query และ Data Definition Query

SQL ยอมาจาก Structured Query Language เปนภาษามาตรฐานทใชท างานรวมกบระบบฐานขอมล ชดค าสงพนฐานทส าคญในภาษา SQL ทใชจดการขอมลม 4 ค าสง คอ

1. SELECT คนหาขอมล ค าสงทใชรวมกบค าสง SELECT คอ

- DISTINCT แสดงกลม record ทคาใน field นนไมซ ากน - DISTINCTROW แสดงกลม record ทขอมลทก field ไมซ ากน - JOIN ก าหนดลกษณะการรวมกนของขอมลจากตาง Table แบงออกเปน 3

ลกษณะ คอ INNER JOIN, LEFT-OUTER JOIN และ RIGHT-OUTER JOIN - FROM ระบชอ Table / Query ทจะน ามาคนหาขอมล - WHERE ระบเงอนไขทจะใชคนหาขอมล - GROUP BY ก าหนด field ทจะใชจดกลมขอมล - ORDER BY ก าหนด field ทจะใชจดเรยงขอมล - AS ตงชอ field ใหมในตารางผลลพธ

2. UPDATE ปรบปรงขอมล 3. INSERT เพม record ใหมในฐานขอมล 4. DELETE ลบ record ออกจากฐานขอมล

78

บทท 5 การสรางฟอรม (Form)

นอกจากใชมมมองของแผนขอมล (datasheet) ในการปอนขอมล แกไขและแสดงผล

ขอมลแลว ยงมเครองมอ อกชนดหนง คอ ฟอรม (Form) ทชวยใหสามารถจดระบบขอมลบนจอภาพไดอยางมประสทธภาพ เนองจากรปแบบการใชงานจะไมถกก าหนดใหอยในรปของตารางเทานน แตสามารถจดรปแบบไดอยางอสระ เหมาะสมและสะดวกตอการใชงานมากขน

มมมองของฟอรม

ในการท างานรวมกนกบฟอรมจะมมมมองในเลอก 5 แบบ คอ 1. มมมองการออกแบบ (form design) ใชในการสราง ออกแบบ และแกไขฟอรม

2. มมมองฟอรม (form view) ใชแสดงผลฟอรมเพอตดตอกบผ ใชตามรปแบบ ทสรางในมมมองออกแบบ หรอสรางดวยตวชวยสราง

3. มมมองแผนขอมล (datasheet) ใชแสดงผลฟอรมในรปของแผนขอมล หรอตารางขอมล

4. มมมอง PivotTable เปนมมมองทแสดงผลฟอรมในรปของตารางแจกแจงรายละเอยดและสรปผลขอมล

5. มมมอง PivotChart เปนมมมองทแสดงผลฟอรมเพอการวเคราะหและสรปผลขอมลในรปของแผนภมหรอ Chart

80

การสรางฟอรมแบบงาย 1. เลอก Table/Query ทจะสรางฟอรม 2. คลกแทบ Create 3. คลก Form

ภาพท 5.1 ขนตอนการสรางฟอรมแบบงาย

ภาพท 5.2 ผลการสรางฟอรมแบบงาย

81

การสรางฟอรมโดยใชตวชวย (Form Wizard) 1. คลกแทบ Create 2. คลก Form Wizard 3. เลอก Table/Query ทจะเปนแหลงขอมลของฟอรม 4. ดบเบลคลกเลอก field ทจะใช หรอคลก >> เพอเลอก field ทงหมด 5. คลก Next 6. เลอกวาจะสรางฟอรมแบบไหน 7. คลก Next 8. ตงชอฟอรม 9. เลอกวาจะเปดฟอรมในมมมองใด 10. คลก Finish

82

ภาพท 5.3 ขนตอนการสรางฟอรมโดยใชตวชวย (Form Wizard)

83

การสรางฟอรมดวยมมมองการออกแบบ การสรางฟอรมดวยมมมองการออกแบบ (Form Design) จะไดฟอรมทตรงกบ

วตถประสงคในการใชงานมากทสด สามารถใชแกไขฟอรมทสรางดวย Form Wizard ได วธการสรางมดงน

1. คลกแทบ Create 2. คลก Form Design

ภาพท 5.4 ขนตอนการสรางฟอรมดวยมมมองการออกแบบ (Form Design)

84

ภาพท 5.5 หนาจอการสรางฟอรมดวยมมมองการออกแบบ (Form Design) ป มสรางคอนโทรลในแทบ Design

ภาพท 5.6 ป มสรางคอนโทรลในแทบ Design

85

ตารางท 5.1 แสดงป มสรางคอนโทรลในการสรางฟอรม

86

สวนประกอบในมมมองออกแบบของฟอรม 1. Form Design Area

พนททใชสรางและออกแบบฟอรม 2. Field List

สวนทแสดงชอ Table/Query ทเปนแหลงขอมลของฟอรม จากการคลกทป ม Add

Existing Fields ในแทบ Design

ภาพท 5.7 สวนประกอบในมมมองออกแบบ

87

3. Property Sheet Property Sheet เปนสวนทใชก าหนดคณสมบตตางๆ ใหกบฟอรมหรอคอนโทรล

ตางๆ ในฟอรม 3.1 คณสมบตของฟอรม

คณสมบตทใชก าหนดรปแบบและการท างานของฟอรมจะแบงออกเปน 4 กลม คอ Format, Data, Event และ Other

ภาพท 5.8 คณสมบตทใชก าหนดรปแบบและการท างานของฟอรม (Property Sheet)

88

ตารางท 5.2 แสดงคณสมบตของฟอรม คณสมบต การท างาน

แทบ Format ใชก าหนดรปแบบการแสดงผลฟอรม เชน ก าหนดมมมอง จดต าแหนงฟอรมบนจอ และก าหนดเสนขอบ เปนตน Default View ก าหนดรปแบบการแสดงผลในมมมองฟอรม มใหเลอก 6 แบบ คอ

1. Single Form แสดง 1 record ตอ 1 หนา 2. Continuous Forms แสดงหลายๆ record ตอเนองกนไปใน 1 หนา 3. Datasheet แสดงขอมลในรปตารางเชนเดยวกบมมมอง Datasheet

ของ Table/Query 4. PivotTable แสดงขอมลในรปของตารางสรปผลขอมล 5. PivotChart แสดงขอมลในรปของกราฟ 6. Split Form เปนฟอรมแบบผสมทม 2 มมมองในฟอรมเดยวกน คอ

มมมอง Datasheet และมมมอง Form Border Style ก าหนดลกษณะเสนขอบของฟอรม ม 4 แบบ คอ

1. None ไมแสดงเสนขอบ แถบชอฟอรม เมนควบคม ป มปรบขนาดและป มปดฟอรม และผใชไมสามารถปรบขนาดฟอรมได

2. Thin แสดงเสนขอบแบบบางและสดงสวนประกอบอนๆ ขางตนท None ไมแสดง ถาจะปรบขนาดของฟอรมตองใชป มปรบขนาดเทานน ไมสามารถปรบเองแบบอสระได

3. Sizable แสดงเสนขอบแบบปกปดและสวนประกอบอนๆ ขางตน สามารถปรบขนาดไดอยางอสระโดยคลกคางไวทเสนขอบ ลากไปมาจนไดขนาดทตองการ

4. Dialog แสดงเสนขอบแบบบางและสวนประกอบอนๆ (ยกเวนป มปรบขนาด) ถาก าหนดคณสมบตน จะปรบขนาดฟอรมไมได ใหก าหนดคณสมบต Pop Up เปน Yes กอนใชคณสมบต Border Style

Record Selectors

ถาตงเปน Yes จะแสดงแถบเลอก record ในแนวตงซายสดของฟอรม

89

คณสมบต การท างาน Navigation Buttons

ถาตงเปน Yes จะแสดงแถบเลอก record ทสวนลางสดของฟอรม

Dividing Lines ถาตงเปน Yes จะแสดงเสนแบง record หรอเสนแบง section ในฟอรมออกจากกน จะเหนไดชดเจนถาเลอกแสดงฟอรมแบบ Continuous ในคณสมบต Default View

Auto Resize ถาตงเปน Yes จะปรบขนาดของฟอรมใหพอดกบพนทใชงานจรงใน section ตางๆ โดยอตโนมตเมออยในมมมองฟอรม

Auto Center ถาตงเปน Yes เมอเปดใชฟอรม ต าแหนงของฟอรมจะอยกงกลางจอโดยอตโนมต

แทบ Data ก าหนดคณสมบตการท างานรวมกบขอมล เชน ก าหนดแหลงขอมล และผใชสามารถแกไขขอมลไดหรอไม เปนตน Record Source ระบแหลงขอมลของฟอรมนน ซงอาจเปน Table/Query หรอประโยคค าสง

SELECT ในภาษา SQL Allow Additions ถาตงเปน Yes หมายถง ใหเพม record ใหมผานทางฟอรมนได โดยแสดงทง

record เดมและ record ใหมวางๆ ส าหรบปอนขอมล Allow Deletions ถาตงเปน Yes หมายถง ใหลบ record ใดๆ ในแหลงขอมลนนได Allow Edits ถาตงเปน Yes หมายถง ใหแกไข record ในแหลงขอมลนนผานทางฟอรมได Data Entry ถาตงเปน Yes หมายถง ใหเพม record ใหมได โดยแสดงเฉพาะ record

ใหมวางๆ ส าหรบปอนขอมลเทานน จะไมแสดง record เดมทมอยแลว แทบ Event ใชก าหนดเหตการณทจะใหกดการกระท า (Action) บนฟอรมหรอคอนโทรลตางๆ บนฟอรมนน ใชรวมกบ Macro และ Module ไดแก คณสมบตทขนตนดวย On ทงหมด เชน On Open, On Load, On Close และ On Click เปนตน และคณสมบตอนๆ เชน Before Insert, Before Update, After Insert และ After Update เปนตน แทบ Other Modal ถาตงเปน Yes หมายถง ถาเปดฟอรมนหลงจากเปดฟอรมอนไวกอนแลว

ฟรอมเหลานนจะท างานตอไมได จนกวาจะปดฟอรมแบบ Modal นกอน

90

คณสมบต การท างาน Pop-up ถาตงเปน Yes หมายถง เสนขอบของฟอรมจะถกเปลยนใหเปนแบบบางและ

แสดงลอยตวเหนอฟอรมอนๆ ทงหมดทเปดใชงานอยกอนแลว

3.2 คณสมบตของคอนโทรล คณสมบต การท างาน

คณสมบตทวไปของคอนโทรล คอนโทรลทกประเภทจะมคณสมบตพนฐานบางตวทเหมอนกนทมกจะถกใชงานบอย เชน คณสมบตในการซอน/แสดงคอนโทรล และคณสมบตในการตอลสนองการท างานของผใช เปนตน Visible คณสมบตในแทบ Format ของคอนโทรลนน ถาตงคาเปน No หมายถง ให

ซอนคอนโทรลนนไวเพอไมใหผใชมองเหนขณะท างานในมมมองฟอรม แตถาอยในมมมอง Design จะมองเหนและแกไขได

Enabled ก าหนดวาจะใหคอนโทรลนนตอบสนองการท างานจากผใชหรอไม - Yes ใหคอนโทรลนนท างานตามค าสง เมอผใชคลกหรอก าหนดเหตการณใดๆ ใหกบคอนโทรล - No ผใชไมสามารถคลกหรอท างานใดๆ รวมกบตวคอนโทรลนนได

Locked ถาตงเปน Yes ผใชจะไมสามารถแกไขขอมลทผกอยกบคอนโทรลนนได Tab Order ใชก าหนดล าดบแทบของคอนโทรลใหสอดคลองกบล าดบการจดวาง

คอนโทรลในฟอรมหรอสอดคลองกบล าดบการปอนขอมล (เปนตวก าหนดล าดบการเลอนเคอรเซอรไปยงคอนโทรบตางๆ ในมมมองฟอรม เมอผใชกดคยบอรด Tab หรอ Enter)

คณสมบตของ Text Box Name ตงชอใหคอนโทรล เพอน าไปใชอางองในออบเจค Macro, Module หรอออบ

เจคอนๆ ได Control Source ระบชอ field ทน ามาผกหรอเปนแหลงขอมลของคอนโทรลนน Format ก าหนดรปแบบการแสดงผลขอมบในคอนโทรลนน Input Mask ก าหนดรปแบบการปอนขอมล Enter Key Behavior

ก าหนดวาจะใหท าอะไรตอไปหลงกดคยบอรด Enter ใน Text Box นน ถาก าหนดเปน Default หมายถง ใหไปท างานใน Text Box ทอยล าดบถดไป ถาก าหนดเปน New Line in Field หมายถง ใหขนบรรทดใหมใน Text Box นน

91

คณสมบต การท างาน คณสมบตของ Option Group คณสมบตของคอนโทรลชนดนจะแยกออกเปน 2 สวน คอ สวนของ Option Group และ Option Button - Option Group Properties Name ตงชอคอนโทรล Option Group เพอน าไปใชอางองในออบเจค Macro,

Module หรอออบเจคอนๆ ได Control Source ระบชอ field ทน ามาผกกบคอนโทรล Default Value ก าหนดคาเรมตนใหคอนโทรล - Option Button Properties Name ตงชอคอนโทรล Option Group เพอน าไปใชอางองในออบเจค Macro,

Module หรอออบเจคอนๆ ได Option Value ก าหนดคาใหกบป ม Option แตละป ม เชน ป มเลอกเพศชายมคาเปน 1 และ

ป มเลอกเพศหญงมคาเปน 2 - Combo Box Properties Row Source Type

ระบแหลงขอมลของลสต คาเรมตนท Access ก าหนดไว คอ Table/Query

Row Source ระบชอ Table/Query ทเปนแหลงขอมล หรอระบประโยคค าสง SELECT ในภาษา SQL

Column Count ก าหนดจ านวนคอลมนทจะแสดงในลสต เชน 1 หมายถง แสดง 1 คอลมน Column Heads ก าหนดวาจะแสดงชอ field ทสวนหวของคอลมนในลสตหรอไม ถาก าหนด

เปน No หมายถง ไมตองแสดง Column Widths ก าหนดความกวางของแตละคอลมนในลสต Bound Column ระบหมายเลขคอลมนทจะน าขอมลไปเกบใน Table (เรยงล าดบหมายเลขจา

ซายไปขวา คอ 1, 2, 3,…) Limit To List ถาเปน Yes หมายถง จะคยขอมลทไมมในลสตลงชองวางของ Combo Box

ไมได ถาเปน No หมายถง คยขอมลทไมมในลสตลงชองวางได (กอนก าหนดเปน No ตองยกเลกการซอนคอลมนในลสตกอน)

92

คณสมบต การท างาน - Subform Properties Name ตงชอใหคอนโทรล Subform เพอน าไปใชอางองในออบเจค Macro, Module

หรออนๆ Source Object ระบชอฟอรมยอยทน ามาผกกบคอนโทรล Subform Link Child Fields ระบชอ field ในฟอรมยอยทจะน ามาเชองโยงกบ field ในฟอรมหลก Link Master Fields

ระบชอ field ในฟอรมหลกทจะน ามาเชองโยงกบ field ในฟอรมยอย

การเชอมฟอรมเขากบตารางฐานขอมล

1. เชอมทงฟอรมเขากบทงตาราง

ภาพท 5.9 ขนตอนการเชอมฟอรมทงฟอรมเขากบตารางฐานขอมล

93

2. เชอมแตละ field ของฟอรมเขากบแตละ field ของตาราง การเชอม 1 ฟอรมกบหลายๆ ตารางเขาดวยกนตองสราง query เพอเชอมตารางกอน

จงจะเชอมฟอรมเขากบตารางหลายๆตารางได

ภาพท 5.9 ขนตอนการเชอมฟอรมเขากบตารางฐานขอมลโดยเชอมแตละ field

94

การปรบแตงฟอรม ค าสง Themes จะปรบรปแบบตวอกษรและสทใชในออบเจค Table, Form และ Report

โดยมขนตอนดงน 1. คลก Themes ในแทบ Design 2. คลกเลอกรปแบบทจะใช

ภาพท 5.10 ขนตอนการปรบแตงฟอรมดวยค าสง Themes

95

การจดเกบฟอรมลงฐานขอมล

การจดเกบหรอบนทกฟอรมลงฐานขอมลใหท าดงน 1. คลก Save บนทลบาร Quick Access 2. ตงชอฟอรมในชอง Form Name 3. คลก OK

ภาพท 5.11 ขนตอนการจดเกบฟอรมลงฐานขอมล

96

ถาจดเกบฟอรมใหเปนออบเจคเประเภทอน เชน Report ท าไดดงน 1. คลกแทบ File แลวคลกค าสง Save Object as 2. ตงชอออบเจคทจะจดเกบ 3. ถาจะจดเกบเปนออบเจค Report ใหคลกเลอก Report ในชอง As แลวคลกป ม OK

ภาพท 5.12 ขนตอนการจดเกบฟอรมใหเปนออบเจคประเภทอน

บทท 6 การสรางรายงาน (Report)

การสรางรายงาน (report) เปนการน าขอมลจากตาราง หรอแบบสอบถาม ผลลพธทได

จากการคนหาขอมล หรอผลลพธทไดจากการค านวณ เชน ผลสรปยอดรวม คาเฉลย คาทางสถต และคาทไดจากการวเคราะหดวยฟงกชนทางการเงน เปนตน รวมทงการน าเสนอขอมลในรปแผนภมหรอ chart ซงสามารถแสดงขอมลไดทงบนจอภาพและพมพรายงานออกมาทางเครองพมพ มมมองของรายงาน

มมมองของรายงาน ม 3 แบบ คอ 1. มมมองออกแบบ (design) เปนมมมองทใชในการสรางและแกไขรายงาน จะม

ลกษณะคลายมมมอง design ของฟอรม

2. มมมองตวอยางกอนพมพ (print preview) เปนมมมองทใชแสดงตวอยางรายงานทสรางไวในมมมอง design เพอดผลกอนสงพมพออกทางเครองพมพ ถาผลทไดยงไมเปนทพอใจหรอมขอผดพลาดจะไดแกไขกอนพมพจรง ซงจะชวยประหยดกระดาษและเวลาไดมาก

3. มมมองแสดงตวอยางเคาโครง (layout previews) เปนมมมองทใชแสดงตวอยางโครงสรางรายงานในลกษณะเดยวกบมมมอง print preview ตางกนตรงจะแสดงขอมลตวอยางเพยงคราวๆ เทานน จะไมแสดงขอมลจรงทงหมดในรายงานนนเพอใหผ ใชมองเหนตวอยางรายงานอยางรวดเรวกอนพมพจรง

วธการสรางรายงาน

การสรางรายงาน ท าได 3 วธ คอ 1. สรางรายงานงายๆ จาก 1 Table / Query อยางรวดเรว เปนวธทเรวและงายทสด

เพยงคลกเลอก Table / Query ทจะใหเปนแหลงขอมลของรายงานนน แลวคลกป มค าสง Report ในแทบ Create

98

2. สรางรายงานโดยใชตวชวยสราง (Report Wizard) เปนการสรางรายงานโดยตอบค าถามหรอเลอกสวนประกอบตางๆ ทตองการใหแสดงในรายงาน โดยท าตามล าดบขนตอนไปทละขน ซงสามารถสรางแผนภมหรอ chart ไดดวย

3. สรางรายงานในมมมองออกแบบ (Design View) เปนการสรางรายงานดวยตวเองทงหมด ตงแตการออกแบบ เลอกสวนประกอบ ก าหนดต าแหนง เงอนไขรายละเอยด และอนๆ ทจ าเปนจนไดรายงานทตองการ

รายละเอยดในการสรางรายงานจะคลายๆ กบการสรางฟอรม ซงถาตองการความสะดวกอาจเลอกสรางรายงานแบบอตโนมต หรอใชตวชวยสราง แลวท าการแกไขในตอนหลงดวยตวเองไดในมมมองออกแบบ การสรางรายงานแบบงาย

1. เลอก Table / Query ทจะใชสรางรายงาน 2. คลกแทบ Create 3. คลก Report 4. แสดงรายงานแบบ Tabular 5. คลก Save 6. ตงชอรายงาน 7. คลก OK

99

ภาพท 6.1 ขนตอนการสรางรายงานแบบงาย

100

สรางรายงานโดยใชตวชวยสราง (Report Wizard) 1. คลกแทบ Create 2. คลก Report Wizard 3. เลอก Table / Query ทจะใชสรางรายงาน 4. ดบเบลคลกเลอก field ทจะใช หรอคลกป ม >> เพอเลอกทก field อยางรวดเรว

แลวจงคลกป ม Next 5. เลอก field ทจะใชจดกลม 6. เลอก field ทจะใชเรยงขอมล แลวจงคลกป ม Next 7. เลอกรปแบบการวาง field และการวางแนวกระดาษพมพ แลวจงคลกป ม Next 8. ตงชอรายงาน 9. คลก Finish

ภาพท 6.2 ขนตอนการสรางรายงานโดยใชตวชวยสราง (Report Wizard)

101

ภาพท 6.2 ขนตอนการสรางรายงานโดยใชตวชวยสราง (Report Wizard)

102

สรางรายงานในมมมองออกแบบ วธสรางรายงานในมมมองออกแบบ (Design View) จะคลายกบการสรางฟอรมทกลาว

มาแลว โดยสงทตองพจารณาเพมเตมจากฟอรม คอ การจดกลมและเรยงล าดบขอมล รวมทงการเลอกฟงกชนเพอค านวณคาผลสรปของขอมล โดยการเรมสรางรายงานดงน

1. เลอกแทบ Create 2. คลก Report Design 3. ไดพนทส าหรบสรางรายงาน

ภาพท 6.3 ขนตอนการสรางรายงานดวยมมมองการออกแบบ (Report Design)

ภาพท 6.4 หนาจอการสรางรายงานดวยมมมองการออกแบบ (Report Design)

103

สวนประกอบในมมมองออกแบบของรายงาน แทบค าสงทใชสรางหรอแกไขและจดรปแบบรายงาน ไดแก 1. แทบ Design

ภาพท 6.5 หนาจอแทบ Design ในการสรางรายงานดวยมมมองการออกแบบ

ค าสงในแทบ Design ของ Report จะใชส าหรบการสราง/แกไขหรอท างานรวมกบ Report ซงการท างานแตละค าสงจะเหมอนกบค าสงในแทบ Design ของมมมอง Layout โดยมค าสงทเพมเขามา คอ Tab Order, Subreport in New Window, View Code และ Convert Report’s Macros to Visual Basic

2. แทบ Arrange

ภาพท 6.6 หนาจอแทบ Arrange ในการสรางรายงานดวยมมมองการออกแบบ

การท างานของค าสงในแทบนสวนใหญจะเหมอนกบค าสงในแทบ Arrange ของมมมอง Layout มค าสงทเพมเขามา คอ Size/Space, Align, Bring to Front และ Send to Back

3. แทบ Format

ภาพท 6.7 หนาจอแทบ Format ในการสรางรายงานดวยมมมองการออกแบบ

ค าสงในแทบนจะเหมอนค าสงในแทบ Format ของมมมอง Layout ทกค าสง

104

4. Report Design Area

ภาพท 6.8 หนาจอ Report Design Area ในการสรางรายงานดวยมมมองการออกแบบ

ใชส าหรบสรางและออกแบบ Report ประกอบดวยเซคชนตางๆ เหมอนฟอรม เมอสรางรายงานใหมวางๆ มมมองออกแบบ นอกจากเซคชน Detail แลว จะมเซคชน Page Header และ Page Footer ดวย นอกจากนยงมป ม Add a group และ Add a sort เพมเขามา เพอใหก าหนด field ทจะใชจดกลมและเรยงล าดบขอมลในรายงาน

105

ตวอยางการสรางรายงาน

ภาพท 6.9 ตวอยางขนตอนการสรางรายงาน

ภาพท 6.10 ตวอยางขนตอนการสรางรายงานแบบ Tabular

106

ภาพท 6.11 ตวอยางผลการสรางรายงานแบบ Tabular

107

ภาพท 6.12 ตวอยางผลการแกไขเปลยนแปลงรายงานแบบ Tabular

108

ภาพท 6.13 ตวอยางขนตอนการเปลยนสพนหลงของรายงาน

109

ภาพท 6.14 ตวอยางรายงาน

110

การ export รายงาน 1. การ export รายงานใหอยในรป Excel

ภาพท 6.15 ขนตอนการ export รายงานใหอยในรป Excel

111

2. การ export รายงานใหอยในรป PDF

ภาพท 6.16 ขนตอนการ export รายงานใหอยในรป PDF

112

วธสรางรายงานจากแบบสอบถาม

MS Access จะท ารายงานใหโดยรวมเอาทกๆ ฟลดในแบบสอบถามเอาไว

ภาพท 6.17 ขนตอนสรางรายงานจากแบบสอบถาม

บทท 7 การสรางมาโคร (Macro)

มาโครหรอแมโคร (Macro) เปนออบเจคฐานขอมลอกตวหนงทจะชวยใหสามารถสราง

กลมค าสงทท างานแบบอตโนมตไดอยางรวดเรว โดยการท างานจะเรยงล าดบจากค าสงแรกไปจนถงค าสงสดทายในมาโครนน เหมาะทจะน าไปใชกบการท างานทตองท าซ าๆ กน และไมซบซอนมาก โดยมาโครจะชวยลดภาระในการจดจ าค าสง ชวยใหผ ใชทไมค นเคยกบการใชค าสงใน Access สามารถน าฐานขอมลไปใชงานไดงายขน เชน ผพฒนาฐานขอมลอาจสรางป มค าสงทควบคมการท างานดวยมาโครในลกษณะตางๆ เชน ป มค าสงทใชเปดหรอปดฟอรม ป มค าสงทใชคนหาขอมลทตรงกบเงอนไขทก าหนดไว และป มค าสงส าหรบพมพรายงาน เปนตน โดยผ ใชเพยงคลกป มค าสงกสามารถท างานเหลานนได โดยไมตองเรยกใชค าสงหลายๆ ค าสงจาก Ribbon ซ าๆ กนทกครง

รจกกบมาโคร

มาโคร (Macro) คอ ชดค าสงทท างานแบบอตโนมต จดเปนโปรแกรมประเภทหนง สามารถก าหนดเงอนไขการท างานได เชน ตรวจสอบคาเพอเลอกท าหรอไมท าค าสงทก าหนดไว หรอสามารถน ามาโครมาชวยท างานในลกษณะตางๆ เชน

- สามารถคนหาและสอบถามขอมล ผานทางฟอรมหรอรายงานโดยไมตองเรยกใชออบเจค Query โดยตรง

- สามารถตรวจสอบและแกไขขอมลทปอนผานฟอรม การท างานจะยดหยนกวาการใชกฎการตรวจสอบ (validation rule) ทก าหนดในโครงสรางของตาราง

- ชวยปรบปรงการท างานแบบอตโนมต เชน การคดลอก เคลอนยาย และแกไขขอมล เปนตน

- ชวยในการสรางแอพพลเคชนโปรแกรมขนใชงานเอง เชน สรางฟอรมทประกอบดวยป มค าสงตางๆ โดยมาโครเปนตวควบคมการท างาน

114

เรมตนสรางมาโคร ขนตอนการสรางมาโครเรมตนจาก

1. คลกแทบ Create 2. คลก Macro 3. เขาสมมมอง Design ของมาโคร

ภาพท 7.1 ขนตอนการสรางมาโคร (Macro)

115

4. คลกป ม Action Catalog ในแทบ Design 5. ปรากฏหนาตาง Action Catalog ซงประกอบดวยกลมค าสงทจะน ามาใชในชดค าสง

อตโนมต

ภาพท 7.2 หนาตาง Action Catalog ค าส งใน Action Catalog

ใน Action Catalog จะแบงค าสงออกเปน 2 กลมดงน 1. กลม Program Flow

- Comment ค าสงทใชใสขอความทผใชตองการ เชน หมายเหตเตอนความจ า หรอค าอธบายการใชงาน

- Group ค าสงสรางมาโครแบบกลม - If ค าสงใชสรางเงอนไขการท างานในมาโคร - Submacro ค าสงสรางมาโครยอย

116

2. กลม Action

- Data Entry Operations กลมค าสงทใชจดการขอมล เชน DeleteRecord (ลบเรคอรด), SaveRecord (จดเกบเรคอรด) และ EditlisItems (เรยกใชค าสงแกไขขอมลในสสต Lookup) เปนตน

- Data Import/Export กลมค าสงทใชในการน าเขาและสงออกขอมลระหวางฐานขอมล Access และโปรแกรมอนๆ เชน EmailDatabaseOpject (สงออบเจคจากฐานขอมล Access ไปทางอเมล), ccExportWithFormatting (สงขอมลจาก Access ไปโปรแกรมอนๆ ตามรปแบบทก าหนดไว), ImportExportSpreadsheet (น าเขาหรอสงออกขอมล Access กบไฟลขอมล spread sheet)

- Database Objects กลมค าสงทใชจดการออบเจคฐานขอมล เชน CopyObject (คดลอกออบเจค), DeleteObject (ลบออบเจคออกจากฐานขอมล), RenameObject (เปลยนชอออบเจค), PrintObject (พมพออบเจค)

- Filter/Query/Search กลมค าสงทใชกรอง สอบถาม และคนหาขอมล เชน ApplyFilter (ก าหนดเงอนไขการกรอง), FindNextRecord (คนหาเรคอรดถดไปทตรงกบเงอนไข), OpenQuery (เปดใช Query)

- Macro Commands กลมค าสงควบคมการท างานของมาโคร เชน CancelEvent (ยกเลกเหตการณทท าใหมาโครนนท างาน), RunMacro (เรยกใชมาโครอนๆ จากมาโครทก าลงท างาน), StopAllMacros (หยดการท างานของมาโครทงหมดทรนคางอย)

- System Commands กลมค าสงทเกยวของกบการท างานของระบบฐานขอมล เชน CloseDatabase (ปดการใชงานฐานขอมล), DisplayHourglassPointer (เปลยนรปแบบตวช เมาสจากปกตเปนนาฬกาทรายขณะรนมาโคร), QuitAccess (ปดการท างานโปรแกรม Access), Sendkeys (สงรหสคยบอรดโดยไมตองกดคยบอรดจรงๆ ไปให Access หรอโปรแกรมอนๆทใชงานอย), SetWarnings (ซอน/แสดงค าเตอนของโปรแกรม Access ระหวางการท างาน)

- User Interface Commands กลมค าสงตดตอกบผ ใช เชน AddMenu (เมนทผ ใชสรางเองเพอท างานแทนเมนหลก), MessageBox (กลองขอความแจงขาวสาร/ค าเตอนใหผ ใชทราบ), ShowToolbars (ซอน/แสดงทลบารทผใชสรางเอง)

- Window Management กลมค าสงทใชจดการหนาตางการท างาน เชน Maximize (ขยายหนาตางทก าลงใชงานใหมขนาดใหญทสดหรอเตมหนาจอ) , Minimize (ยอ

117

หนาตางทก าลงใชงานลงมาใหมขนาดเลกทสด), MoveAndSizeWindow (ยายและปรบขนาดหนาตางทก าลงใชงาน) วธสรางมาโครโดยเกบเปนออบเจค Macro

เขามมมอง Design โดยคลก Create ในแทบ Macro แลวท าดงน 1. เลอกค าสงจาก Add New Action ในทนเลอก OpenForm 2. ใสคาอารกวเมนต (ถาม) ในทนคอ อารกวเมนตของค าสง OpenForm

- Form Name ใสชอฟอรม - View เปดฟอรมในมมมองใด - Filter Name ใสชอตวกรองขอมล (ถาม) - Where Condition ใสเงอนไขทใชกรองขอมล (ถาม) - Data Mode จะแสดงฟอรมแบบเพมเรคอรดได (Add) แกไขได (Edit) หรออานได

อยางเดยว (Read Only) - Window Mode แสดงฟอรมในมมมองฟอรม (Normal) ซอนฟอรม (Hidden) ยอ

ขนาดหนาตางใหเลกทสด (Icon) หรอแบบไดอะลอก (Dialog) 3. คลกลากค าสง Comment มาวางถาจะใสหมายเหต 4. คยขอความในชอง Comment เสรจแลวคลก Save 5. ตงชอมาโครในชอง Macro Name: ในทนตงชอวา Macro1 6. คลก OK 7. คลก Close เพอปดมมมองออกแบบ

118

ภาพท 7.3 ขนตอนการสรางมาโครโดยเกบเปนออบเจค Macro

119

ภาพท 7.3 ขนตอนการสรางมาโครโดยเกบเปนออบเจค Macro หากตองการน า Macro1 มาผกกบป มค าสง ทสรางขนจากฟอรม ท าตามขนตอนดงน 1) คลกป ม รายละเอยดนกศกษา 2) คลก Property Sheet 3) คลกแทบ Event

120

4) ในแถวคณสมบต On Click ใหคยชอ Macro1 หรอจะคลกป มลกศรแลวเลอกจากลสตกได

ภาพท 7.4 ขนตอนการน า Macro1 มาผกกบป มค าสง ทสรางขนจากฟอรม

121

การแกไขมาโคร 1. เพมค าสงใหม

ตวอยางเชน หากตองการน า Macro1 มาเพมค าสง MessageBox กอนค าสง OpenForm เพอแสดง dialog box กอนเปดฟอรมขอมลนกศกษา มขนตอนดงน

1) คลกเลอกค าสงทจะใชจากชอง Add New Action 2) เลอกค าสง MessageBox 3) ค าสงใหมจะอยทายสดของมาโคร

ภาพท 7.5 ขนตอนเพมค าสงใหมในมาโคร

122

ภาพท 7.5 ขนตอนเพมค าสงใหมในมาโคร

123

2. ยายต าแหนงค าสง ถาเพมค าสง MessageBox ดวยวธคลกเลอกจากชอง Add New Action ค าสง

MessageBox จะอยทายสดของมาโคร ดงนนหากตองการใหรน MessageBox กอนตองท าการยายต าแหนง MessageBox ขนไปดานบน ดวยวธดงน

1) คลกค าสงทจะยายต าแหนง 2) คลกป ม Move up

ภาพท 7.6 ขนตอนการยายต าแหนงค าสงในมาโคร

124

วธสงรนมาโคร วธท 1 สงรนมาโครจาก Navigation Pane 1. คลกขวาทชอออบเจค Macro 2. คลกค าสง Run จากเมนลด

ภาพท 7.7 ขนตอนการสงรนมาโครจาก Navigation Pane

125

วธท 2 สงรนจากค าสง Run Macro 1. คลกแทบ Database Tools 2. คลก Run Macro

ภาพท 7.8 ขนตอนการสงรนมาโครจากค าสง Run Macro

126

วธท 3 สงรนในมมมอง Design 1. เลอกมมมอง Design 2. คลกค าสง Run ในแทบ Design

ภาพท 7.9 ขนตอนการสงรนมาโครจากมมมอง Design

บรรณานกรม

กตต ภกดวฒนะกล และจ าลอง ครอตสาหะ. การออกแบบฐานขอมล. กรงเทพฯ : เคทพ

คอมพ แอนด คอนซลท, 2546. นนทน แขวงโสภา. (2554). คมอ Access 2010 ฉบบสมบรณ. กรงเทพฯ: โปรวชน. เบญจรตน ภภกด. (2554). Design, Construction, and Management of Databases with

Microsoft Access 2010. กรงเทพฯ: สถาบนวจยจฬาภรณ. มณโชต สมานไทย. คมอการออกแบบฐานขอมลและภาษา SQL ฉบบผเรมตน. นนทบร :

อนโฟเพรส, 2546. วเชยร เปรมชยสวสด. “การออกแบบเชงแนวคดโดยใช อ-อาร โมเดล,” ใน เอกสารการสอนชด

วชาการจดการระบบฐานขอมล หนวยท 1-8. หนา 241-276. นนทบร : มหาวทยาลยสโขทยธรรมาธราช, 2546.

วเชยร เปรมชยสวสด. ระบบฐานขอมล. กรงเทพฯ : สมาคมสงเสรมเทคโนโลย (ไทย-ญป น), 2546.

วภา เจรญภณฑารกษ. “ทฤษฎการออกแบบโดยวธการนอรมลไลเซชน,” ใน เอกสารการสอนชดวชาการจดการระบบฐานขอมล หนวยท 1-8. หนา 279-341. นนทบร : มหาวทยาลยสโขทยธรรมาธราช, 2546.

ศรลกษณ โรจนกจอ านวย. การออกแบบและบรหารฐานขอมล. กรงเทพฯ : ดวงกมลสมย, 2545.

สมจตร อาจอนทร และงามนจ อาจอนทร. ระบบฐานขอมล. ขอนแกน : ภาควชาวทยาการคอมพวเตอร คณะวทยาศาสตร มหาวทยาลยขอนแกน, 2543.

โอภาส เอยมสรวงศ. การออกแบบและจดการฐานขอมล. กรงเทพฯ : ซเอดยเคชน, 2546. Connolly, Thomas M. and Begg, Carolyn E. Database systems : a practical approach to

design, implementation, and management. Essex : Addison-Wesley, 2002. Kroenke, David M. Database processing : fundamentals, design and implementation.

N.J. : Prentice Hall, 2002. Mannino, Michael V. Database application development and design. Boston : McGrae-

Hill/Irvin, 2001.

128

Post, Gerald V. Database management systems : designing and building business

applications. Boston : McGraw-Hill/Irwin, 2002. Pratt, Philip J. and Adamski, Joseph J. Concepts of database management. Australia :

Course Technology, 2000. Ramakrishnan, Raghu. Database management systems. Boston : McGraw-Hill, 2003. Rob, Peter and Coronel, Carlos. Database System: Design, Implementation, and

Management. Australia : Course Technolog/Thomson Learningy, 2002. Silberschatz, Abraham, Korth, Henry F. and Sudarshan, S. Database system concepts.

Boston : McGraw-Hill, 2002. Stephens, Ryan K. and Plew, Ronald R. Database design. Indianapolis : Sams, 2001.