บทที่ 6...

Preview:

Citation preview

บทท 6

1

บทท 6

การจดท าบญชสนคาคงเหลอดวยMicrosoft Access 2010

จากบททแลว เรากลาวถงการจดท างบการเงนดวยโปรแกรม Microsoft Office Excel ซงยงขาดรายการสนคาคงเหลอ ดงนนในหวขอนจะจดท าระบบสนคาคงเหลอแบบงายๆโดยใชโปรแกรมMicrosoft Office Access2010 ซงมคณลกษณะของฐานขอมล กลาวคอ ตองเกบรวบรวมขอมลทเกยวของกบสนคาทจ าเปนไดแก รหสสนคา ชอสนคา ราคาสนคาตอหนวย เปนตน โดยเรมตนจาก

1. จดท าตารางและก าหนดความสมพนธระหวางตางๆเพอเกบขอมล 2. จดท าแบบสอบถามเพอคนหาและเรยกใชเฉพาะขอมลทตองการ 3. จดท าฟอรมเพอด เพม และปรบปรงขอมลในตาราง 4. จดท ารายงานเพอวเคราะหหรอพมพขอมลในเคาโครงทก าหนดไว

การออกแบบฐานขอมลโดยโปรแกรมMicrosoft Access 2010

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

ดงนน การออกแบบฐานขอมลทดคอ

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

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

บทท 6

2

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

แบงขอมลลงในตารางตางๆ แบงรายการขอมลออกเปนกลมหรอหวเรองหลกๆ เชน ผลตภณฑ หรอใบสงซอ จากนนแตละหวเรองจะถกน ามาท าเปนตาราง

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

ระบคยหลก เลอกคยหลกของตารางแตละตาราง คยหลกคอคอลมนทใชเพอระบแตละแถวแบบไมซ ากน ตวอยางเชน หมายเลขผลตภณฑ หรอ ID ใบสงซอ เปนตน

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

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

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

ขนตอนท 1 การลดความซ าซอนของขอมล

ขนตอนท 2 การลดการพงพาซงกนและกนของขอมลบางสวน

ขนตอนท 3 การลดการพงพาของขอมลทไมมความเกยวพนกน

ดต.ย.เพมเตมในเอกสารทแจกให

Entity-Relationship Model(E-R Model) คอ แผนภาพทใชในการออกแบบฐานขอมล เปนสวนทอางองกบ Database Definition Language(DBDL) และเปนสวนทรวม Entities , Attributes และเปนมมมองแบบจ าลองดวยการใชภาพในการแสดงโครงสราง(Abstraction)

การเขยนโมเดล E-R Model มสวนประกอบตางๆดงน

บทท 6

3

1. Entity คอ สงทเกยวของกบระบบจะใชสญลกษณรปสเหลยมผนผา เชน นกศกษา อาจารย พนกงาน สนคา ลกคา ทอย เปนตน

2. Attribute คอ คาของEntity หรอ relationship จะถกแทนดวยสญลกษณวงกลมหรอวงรหรอแทนดวยปม เชนรหสพนกงาน ชอพนกงาน วนเดอนปเกด วนทเรมงาน เปนตน ดงตวอยางดานลาง Entity-Customer ประกอบดวย

3. Relationship คอ การเชอม Entity เขาดวยกน ซงRelationship ทสรางขนจะตองม Attribute ตวหนงเปนตวเชอมความสมพนธ รปภาพทแสดงRelationship คอ รปสเหลยมขาวหลามตดซงจะมเสนตรงในการเชอมความสมพนธของEntity เขาดวยกน โดยเสนจะเปนตวบอกระดบความสมพนธ(Degree of the Relationship) ดงตวอยางดานลาง

Customer

CustomerI FirstNam LastName Addre Telephon Email

บทท 6

4

One to One(1:1) เปนความสมพนธแบบหนงตอหนง เชน ลกคา 1 คน สามารถมรหสประจ าตวไดเพยง

รหสเดยว เปนตน

ลกคา รหสลกคา

One to Many(1:N) เปนความสมพนธแบบหนงตอกลม เชน ลกคา 1 คน สามารถมใบสงซอสนคาได

หลายใบ เปนตน

รหสลกคา ใบสงซอสนคา

Many to Many (M:N) เปนความสมพนธแบบกลมตอกลม เชน ลกคา 1 คนสามารถสงซอสนคาได

หลายใบสงซอและในใบสงซอสามารถมสนคาไดหลายชนด เปนตน

ใบสงซอสนคา รายการสนคา

A

B

C

1

2

3

1

2

3

001

002

2 003

A

A

2

001

002

003

บทท 6

5

ในโปรแกรมMICROSOFT ACCESS 2010 จะเรมจาก

เปดแฟมขอมลใหมการสรางตาราง สรางแบบสอบถามสรางแบบฟอรม-สรางรายงาน

เรมตนเปดแฟมขอมลใหม ดงน

เลอก Blank database

บทท 6

6

ตงชอแฟมเปน Inventory และกดไอคอนเปดแฟมระบสถานทจดเกบแฟมขอมล Desktop

จากนนกดไอคอน Create

จะไดแฟมขอมลดงภาพดานลาง

การสรางตาราง และ ก าหนดคยหลก

ในทนจะสรางตาราง 4 ตารางคอ

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

ตารางท 2 Products เกบขอมลเกยวกบรหสสนคา และชอสนคา

ตารางท 3 Product_Purchased เกบขอมลเกยวกบรหสสนคาทซอ วนทสงซอ ปรมาณทสงซอ และตนทนตอหนวย

บทท 6

7

ตารางท 4 Product_Sale เกบขอมลเกยวกบรหสสนคาทขาย วนทขาย ปรมาณทขาย และราคาขายตอหนวย

เรมการสรางตารางท 1 InventoryBF โดยกดไอคอน View

ตงชอตารางท 1 เปน InventoryBF

InventoryBF

บทท 6

8

ก าหนดรายละเอยดแตละฟวดดงน

บทท 6

9

บทท 6

10

เรมการสรางตารางท 2 Products

บทท 6

11

เรมการสรางตารางท 3 Product_Purchased

บทท 6

12

บทท 6

13

เรมการสรางตารางท 4 Product_Sale

บทท 6

14

บทท 6

15

บทท 6

16

ชนดของขอมล(Data Type) กด F1 เลอกสารบญ

จะไดขอมลดงรป

ชนดขอมล ใชในการจดเกบ ขนาด

Text อกขระพยญชนะผสมตวเลข ใชกบขอความ หรอตวเลขทไมไดน าไปค านวณ (ตวอยางเชน หมายเลขผลตภณฑ) คาตวเลขทเกบเปนขอความสามารถเรยงล าดบและกรองไดอยางเปนตรรกะมากกวา แตไมสามารถใชในการค านวณไดงาย

สงสด 255 อกขระ

Memo อกขระพยญชนะผสมตวเลข (ยาวกวา 255 อกขระ) หรอขอความทใชการจดรปแบบ Rich Text

ใชส าหรบขอความทมความยาวมากกวา 255 อกขระ หรอส าหรบขอความทใชการจดรปแบบ Rich Text ตวอยางทดในการใชเขตขอมลแบบ Memo คอ หมายเหต ค าอธบายทยาวมาก และยอหนาทมการจดรปแบบ เชน ตวหนาหรอตวเอยง

ไดจ านวนอกขระถง 1 กกะไบต หรอทเกบ 2 กกะไบต (2 ไบตตอหนงอกขระ) โดยทคณสามารถแสดงได 65,535 อกขระในตวควบคมหนงตว

ตวเลข คาตวเลข (จ านวนเตม หรอ คาเศษสวน) ใชเพอเกบตวเลขทใชในการค านวณ ยกเวนคาทางการเงน (ใหใชชนดขอมล Currency ส าหรบคาทางการเงน)

1, 2, 4 หรอ 8 ไบต หรอ 16 ไบตเมอใชเปน ID การจ าลองแบบ

Date/Time วนทและเวลา ใชส าหรบการจดเกบคาวนท/เวลา โปรดสงเกตวา คาแตละคาทจดเกบจะประกอบดวยสวนทเปนวนท และสวนทเปน

8 ไบต

บทท 6

17

เวลา

Currency คาทางการเงน ใชเพอเกบคาทางการเงน (สกลเงน)

8 ไบต

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

4 ไบต หรอ 16 ไบตเมอใชเปน ID การจ าลองแบบ

Yes/No คาบลน (ใช/ไมใช) สามารถใชหนงในสามรปแบบตอไปนคอ Yes/No, True/False หรอ On/Off

1 บต (8 บต = 1 ไบต)

OLE Object วตถ OLE หรอขอมลไบนารอนๆ ใชเพอเกบวตถ OLE จากโปรแกรมอนๆ ของ Microsoft Windows

สงสด 1 กกะไบต

Attachment รปภาพ รป แฟมไบนาร และแฟม Office ชนดขอมลนเหมาะทจะใชเกบรปดจทลและแฟมไบนารชนดใดๆ

ส าหรบสงทแนบมาทบบอดไว ขนาด 2 กกะไบต ส าหรบสงทแนบทไมไดบบอดไว ขนาดประมาณ 700 กโลไบต ขนอยกบระดบของสงทแนบทจะสามารถบบอดได

Hyperlink การเชอมโยงหลายมต ใชเพอเกบการเชอมโยงหลายมตท าใหคลกครงเดยวกเขาถงเวบเพจผาน URL (Uniform Resource Locator) หรอเขาถงแฟมผานชอในรปแบบ UNC (ขอตกลง

ไดจ านวนอกขระถง 1 กกะไบต หรอทเกบ 2 กกะไบต (2 ไบตตอหนงอกขระ) โดยทคณสามารถแสดงได 65,535 อกขระในตว

บทท 6

18

การตงชอสากล) คณยงสามารถเชอมโยงไปยงวตถ Access ทจดเกบในฐานขอมลไดดวย

ควบคมหนงตว

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

ยดตามตารางหรอแบบสอบถาม: ขนาดของคอลมนทถกผกไว

ยดตามคา: ขนาดของเขตขอมล Text ทใชจดเกบคานน

1. หมายเหต ขนาดสงสดของแฟมฐานขอมล Access คอ 2 กกะไบต

การสรางความสมพนธ

เลอก Database Tools Relationships

เลอกทกตาราง ดงภาพ กดปม Add

บทท 6

19

กดปม Create ไดผลลพธตามภาพ

เลอก Join Type

เลอก 1,2,3 ตามทตองการกดOK

บทท 6

20

หากตองการใหระบวาเปนความสมพนธแบบใด ใหใสเครองหมายถกทชองEnforce Referential

Integrity ดงรป

สรางความสมพนธใหกบทกตารางผลลพธทไดดงรปดงภาพ

One to One (1:1) เปนความสมพนธแบบหนงตอหนง เชน ลกคา 1 คน มรหสไดเพยง 1 รหส เปนตน

การสรางแบบสอบถาม

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

เรมสรางแบบสอบถาม คลกแทบ สราง เลอก ออกแบบแบบสอบถาม ดงรป

บทท 6

21

เลอก ตาราง Product_Purchased โดยการดบเบลคลก จากนนกดปมปด กดปมบนทก

ตงชอแบบสอบถามท 1 TotalPurchasedQuery

สรางคอลมภ 3 คอลมภ โดย

คอลมภท 1 บรรทดตาราง คลกลกศรdrop down เลอก Product_Purchased

บรรทดเขตขอมล คลกลกศรdrop down เลอก ProductID

บรรทดวางถดจากหรอ ใหคลกขวา เลอก ผลรวม

บรรทดผลรวม คลกลกศรdrop down เลอก Group By

คอลมภท 2 บรรทดตาราง คลกลกศรdrop down เลอก Product_Purchased

บรรทดเขตขอมล คลกลกศรdrop down เลอก QTYPurchased

บรรทดผลรวม คลกลกศรdrop down เลอก Group By

คอลมภท 3 บรรทดตาราง คลกลกศรdrop down เลอก Product_Purchased

บทท 6

22

บรรทดเขตขอมล คลกลกศรdrop down เลอก TotalCostPur

บรรทดผลรวม คลกลกศรdrop down เลอก Group By

คลกถกในบรรทดชองแสดงในทกคอลมภ ผลลพธจะไดดงรป

กดปมมมมอง เลอกมมมองแผนขอมล เพอดผลลพธ

สรางแบบสอบถามท 2 TotalInQuery ดงรป

บทท 6

23

สรางแบบสอบถามท 3 TotalBFQuery ดงรป

สรางแบบสอบถามท 4 TotalSaleQuery ดงรป

บทท 6

24

สรางแบบสอบถามท 5 TotalQtyCFQuery ดงรป

ฟอรม

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

สรางฟอรมท 1 InventoryCF เลอก แทบ สราง เลอก ตวชวยสรางฟอรม เลอกตาราง InvenBF กดปมบนทก และตงชอฟอรม เปน InventoryCF ดงรป

บทท 6

25

เลอกทกเขตขอมล โดยกดปม

กดปมถดไป> 2 ครง ตงชอฟอรมเปน InventoryBF ดงรป และกดปมเสรจสน

บทท 6

26

แกไขสวนหวของฟอรมจาก InvenBF เปนสนคาคงเหลอตนป และปรบรปแบบสวนรายละเอยดใหสวยงามดงรป

เพมปมตางๆเพอสะดวกในการเรยกใชงานโดยเรมจากปมไปยงระเบยนแรก ตงชอเปน FirstRecord

โดยกดปม

ชองProductID ใหคลกขวา เลอกเปลยนเปนกลองค าสงผสม

แกไขชอ โดยการคลกในชอง

บทท 6

27

จะไดขอมลดงรป ชองประเภท เลอกการน าทางระเบยน ชองการกระท า เลอก ไปยงระเบยนแรก

กดปม ถดไป> 2 ครง ตงชอปมเปน FirstRecord และกดปม เสรจสน ดงรป

ท าปมไปยงระเบยนกอนหนา ตงชอเปน ForwardRecord

ท าปมไปยงระเบยนถดไป ตงชอเปน NextRecord

ท าปมไปยงระเบยนสดทาย ตงชอเปน LastRecord

โดยใชวธการแบบปมFirstRecordขางตน

บทท 6

28

ใหนศ.สรางฟอรม หนาแรก โดยใหมแตสวนหวของฟอรมเพอใชอางองในฟอรมInventoryBF

การสรางปมกลบหนาแรก ชองประเภทเลอกการด าเนนการกบฟอรม ชองการกระท า เลอก เปดฟอรม ดงรป

เลอกฟอรม หนาแรก ดงรป

กดปมถดไป>

กดปมถดไป>

บทท 6

29

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

ตงชอปมเปน FirstPage และกดปมเสรจสน

ปรบแตงขอความ ตวอกษรตางๆโดยเลอก

กดปมถดไป>

บทท 6

30

แกไขปายค าอธบาย เปน กลบหนาแรก การจดเรยงค าอธบายรปภาพ เปน ทวไป ก าหนดขนาดอกษร เปน 12

ผลลพธทได ดงรป

บทท 6

31

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

ใหเพมขอมล Close Window ดงรป เมอสรางเสรจ กดปมบนทก และลองทดสอบในหนาฟอรมInventoryBF

จงสรางฟอรม Product_Purchased, Product_Sale, Products

รายงาน

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

สรางรายงานดงน

1. รายงานสนคาคงเหลอตนป

2. รายงานการซอสนคา

3. รายงานการขายสนคา

4. รายงานสนคาคงเหลอปลายป

บทท 6

32

เลอกแทบ สราง เลอกตวชวยสรางรายงาน

เลอกแบบสอบถามTotalBFQuery เลอกเขตขอมลทมอยท งหมด

บทท 6

33

บทท 6

34

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

บทท 6

35

ในสวนหวของกลมProductID ยายProductID ไปไวทสวนรายละเอยด ดงรป

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

ผลลพธทได

บทท 6

36

การสงออกขอมลจาก ACCESS 2010 ไปยง EXCEL2010

เลอกตาราง/แบบสอบถามทจะสงออกไปยงExcel ในทนเลอกแบบสอบถาม TotalInQuery1 และกดปม

เรยกดเพอบนทกท Desktop และใหคลกทชองดงรป

จากนนกดปม ตกลง

เมอโอนขอมลเสรจ จะปรากฏขอความดงรป กดปมปด

บทท 6

37

ขอมลในExcel2010 จะไดผลลพธ ดงรป

จงสงออกแบบสอบถามTotalQtyCFQuery ไปยง Excel2010 ผลลพธตองไดดงรป

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

บทท 6

38

เรยนรเพมเตมกบภาษา SQL

ค าสง SELECT

เมอตองการอธบายเกยวกบชดขอมลโดยใช SQL จะใชค าสง SELECT ค าสง SELECT ประกอบดวยค าอธบายอยางละเอยดเกยวกบชดขอมลทตองการจากฐานขอมล ซงประกอบดวยขอมลดงตอไปน

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

สวนค าสง SQL

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

สวน

ค าสง SQL

หนาท จ าเปนตองม

SELECT แสดงเขตขอมลทมขอมลทสนใจ ใช

FROM แสดงตารางทมเขตขอมลทปรากฏอย

ในสวนค าสง SELECT

ใช

WHERE ระบเกณฑเขตขอมลทใชเลอกระเบยน

ทจะรวมอยในผลลพธ

ไมใช

ORDER

BY

ระบวธเรยงล าดบผลลพธ ไมใช

บทท 6

39

GROUP

BY

ในค าสง SQL ทมฟงกชนการรวม จะ

แสดงเขตขอมลทไมถกสรปรวมอยใน

สวนค าสง SELECT

เฉพาะเมอมเขต

ขอมลเหลาน

เทานน

HAVING ในค าสง SQL ทมฟงกชนการรวม จะ

ระบเกณฑซงใชกบเขตขอมลทถกสรป

รวมอยในค าสง SELECT

ไมใช

ค าทใชใน SQL

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

ค าทใชใน

SQL

สวนของ

ประโยคท

เทยบได

ค าจ ากดความ ตวอยาง

ตวระบ ค านาม ชอทคณใชระบ

วตถฐานขอมล

เชน ชอของเขต

ขอมล

Customers.[Phone

Number]

ตว

ด าเนนการ

ค ากรยา

หรอ

ค ากรยา

วเศษณ

ค าส าคญทแทน

การกระท าหรอ

ปรบเปลยนการ

กระท า

AS

คาคงท ค านาม คาทไม 42

บทท 6

40

เปลยนแปลง

เชน ตวเลข หรอ

คา NULL

นพจน ค าคณศพท การผสมรวมตว

ระบ ตว

ด าเนนการ

คาคงท และ

ฟงกชนเขา

ดวยกนเพอน ามา

ประเมนใหไดคา

คาเดยว

>= Products.[Unit

Price]

สวนค าสง SQL พนฐาน: SELECT, FROM และ WHERE ค าสง SQL มรปแบบทวไป ดงน

SELECT field_1 FROM table_1 WHERE criterion_1 ;

Access จะไมสนใจการแบงบรรทดในค าสง SQL อยางไรกตาม ควรใชสวนค าสงหนงค าสงตอหนงบรรทด เพอชวยใหผใชอานค าสง SQL ไดงายขน

ค าสง SELECT ทกค าสงจะลงทายดวยเครองหมายอฒภาค (;) เครองหมายอฒภาคอาจปรากฏอยททายสวนค าสงสวนสดทาย หรอทบรรทดใหมทายค าสง SQL กได

บทท 6

41

ตวอยางใน ACCESS

ตวอยางตอไปนแสดงใหเหนลกษณะของค าสง SQL ส าหรบแบบสอบถามแบบใชเลอกขอมลอยางงายใน Access

สวนค าสง SELECT

สวนค าสง FROM

สวนค าสง WHERE

ค าสง SQL ในตวอยางนแปลความไดวา "เลอกขอมลทเกบอยในเขตขอมลทชอ E-mail Address และ Company จากตารางทชอ Contacts เฉพาะระเบยนทมคาของเขตขอมล City เปน Seattle"

สวนค าสง SELECT

SELECT [E-mail Address], Company นเปนสวนค าสง SELECT ซงประกอบดวยตวด าเนนการ (SELECT) ตามดวยตวระบสองคา ([E-mail Address] และ Company)

ถาตวระบมเวนวรรคหรออกขระพเศษ (เชน "E-mail Address") จะตองอยในเครองหมายวงเลบเหลยม

สวนค าสง SELECT ไมจ าเปนตองระบวาตารางใดมเขตขอมลนน และไมสามารถระบเกณฑใดๆ ในการเลอกขอมลเขามารวมไวได

สวนค าสง SELECT จะปรากฏอยหนาสวนค าสง FROM ในค าสง SELECT เสมอ

สวนค าสง FROM

FROM Contacts นเปนสวนค าสง FROM ซงประกอบดวยตวด าเนนการ (FROM) ตามดวยตวระบ (Contacts)

บทท 6

42

สวนค าสง FROM ไมไดแสดงเขตขอมลทถกเลอก

สวนค าสง WHERE

WHERE City="Seattle" นเปนสวนค าสง WHERE ซงประกอบดวยตวด าเนนการ (WHERE) ตามดวยนพจน (City="Seattle")

สวนค าสง ORDER BY

ORDER BY Company DESC, [E-mail Address] ประกอบดวยรายการเขตขอมลทตองการใชในการเรยงล าดบ โดยจะเรยงตามล าดบเดยวกบทตองการน าการเรยงล าดบไปใช

การรวมผลลพธแบบสอบถาม: UNION

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

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

ไวยากรณ SQL พนฐานส าหรบแบบสอบถามแบบรวมทรวมค าสง SELECT สองค าสงเขาดวยกน มลกษณะดงน SELECT field_1 FROM table_1 UNION [ALL] SELECT field_a FROM table_a ; ตวอยางเชน สมมตวามตารางชอ Products และอกตารางหนงชอ Services ทงสองตารางมเขตขอมลซงประกอบดวยชอของผลตภณฑหรอบรการ ราคา การรบประกนหรอการรบรอง และขอมลแสดงวาน าเสนอผลตภณฑหรอบรการเปนแบบเอกสทธหรอไม แมวาตาราง Products จะเกบขอมลการรบประกน สวนตาราง Services เกบขอมลการ

บทท 6

43

รบรอง แตขอมลพนฐานจะเหมอนกน (กลาวคอผลตภณฑหรอบรการนนๆ มค าสญญาดานคณภาพหรอไม) สามารถใชแบบสอบถามแบบรวม เชน แบบสอบถามตอไปน เพอรวมเขตขอมลสเขตขอมลจากสองตาราง

SELECT name, price, warranty_available, exclusive_offer FROM Products UNION ALL SELECT name, price, guarantee_available, exclusive_offer FROM Services

เลอกเขตขอมลทงหมด

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

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

ตวอยางเชน สมมตวาตองการเลอกเขตขอมลทงหมดจากตาราง Orders แตเฉพาะทอยอเมลจากตาราง Contacts สวนค าสง SELECT อาจมลกษณะดงน

SELECT Orders.*, Contacts.[E-mail Address]

เลอกคาทไมซ ากน

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

SELECT DISTINCT [txtCustomerPhone]

บทท 6

44

ใชชอแทนส าหรบเขตขอมลหรอนพจน: ค าส าคญ AS

สามารถเปลยนปายชอทแสดงของเขตขอมลใดๆ ในมมมองแผนขอมลไดโดยใชค าส าคญ AS และนามแฝงของเขตขอมลในสวนค าสง SELECT นามแฝงของเขตขอมลเปนชอทก าหนดใหกบเขตขอมลในแบบสอบถามเพอใหสามารถอานผลลพธไดงายยงขน ตวอยางเชน ถาตองการเลอกขอมลจากเขตขอมลชอ txtCustPhone และเขตขอมลนมหมายเลขโทรศพทของลกคา สามารถท าใหผลลพธอานไดงายขนไดโดยใชนามแฝงของเขตขอมลในค าสง SELECT ดงน

SELECT [txtCustPhone] AS [Customer Phone]

บางครงอาจตองการดผลการค านวณขอมล หรอเรยกขอมลบางสวนของเขตขอมล ตวอยางเชน สมมตวาตองการสงกลบปเกดของลกคา โดยอาศยขอมลในเขตขอมล BirthDate ในฐานขอมล สวนค าสง SELECT อาจมลกษณะดงน

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year] นพจนนประกอบดวยฟงกชน DatePart และอารกวเมนตสองคา ไดแก "yyyy" (คาคงท) และ [BirthDate] (ตวระบ) สามารถใชนพจนทถกตองใดๆ เปนเขตขอมลได ถานพจนนนใหผลลพธเปนคาคาเดยวเมอไดรบคาปอนเขาคาเดยว

ใน Access 2010 ตารางจะมขอจ ากดดงตอไปน

แอตทรบวต คาสงสด

จ านวนอกขระของชอตาราง 64

จ านวนอกขระของชอเขตขอมล 64

จ านวนเขตขอมลในหนงตาราง 255

จ านวนตารางทเปด 2048 ขดจ ากดนรวมถงตาราง

ทถกเปดภายในโดย Access

ขนาดตาราง 2 กกะไบต ลบดวยเนอทท

ตองการส าหรบวตถของ

บทท 6

45

ระบบ

จ านวนอกขระในเขตขอมล Text หนงเขตขอมล 255

จ านวนอกขระในเขตขอมล Memo หนงเขตขอมล 65,535 เมอปอนขอมลผาน

สวนตดตอผใช

2 กกะไบตเมอปอนขอมล

ผานทางการเขยนโปรแกรม

ขนาดของเขตขอมล OLE Object 1 กกะไบต

จ านวนดชนของตารางหนงตาราง 32

จ านวนเขตขอมลของดชนหนงดชน 10

จ านวนอกขระของขอความตรวจสอบหนงขอความ 255

จ านวนอกขระของกฎการตรวจสอบหนงกฎ 2,048

จ านวนอกขระของค าอธบายตารางหรอเขตขอมลหนงค าอธบาย 255

จ านวนอกขระของระเบยนหนงระเบยน (ยกเวนเขตขอมล Memo และ

OLE Object) เมอคณสมบต การบบ Unicode ของเขตขอมลถกตงคา

เปน ใช

4,000

จ านวนอกขระของการตงคาคณสมบตเขตขอมล 255

Recommended