View
6.188
Download
9
Category
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