วันศุกร์ที่ 11 กุมภาพันธ์ พ.ศ. 2554

บทที่ 4 การเพิ่มความสามารถให้กับตาราง

                      แบบฝึกหัดก่อนเรียนบทที่ 4
1.  สัญลักษณ์ #  คืออะไร
ก. แสดงผลแบบธรรมดาทั่วไป        
ข. แสดงผลเป็นตัวเลข
ค. แสดงผลเป็นตัวเลขตันนั้น ตัวเลข 0 ที่อยู่ข้างหน้าและหลังจะไม่แสดง
ง. แสดงลัญลักษณ์ $  ในตำแหน่งนั้น
2.     E+ , e+ คือการแสดงค่าอะไร
                ก. แสดงค่าในรูปแบบวิทยาศาสตร์ที่มีค่าของเลขชี้กำลังที่มากกว่า 0
ข. แสดงผลเป็นตัวเลข
ค. แสดงผลแบบธรรมดาทั่วไป
ง. แสดงลัญลักษณ์ $  ในตำแหน่งนั้น
3.      เครื่องหมาย / แสดงถึงอะไร
ก. แสดงผลแบบธรรมดาทั่วไป
ข. แสดงสัญลักษณ์เพื่อแยกวันเดือนปีของข้อมูลชนิด Date  ออกจากกัน
ค. แสดงค่าในรูปแบบวิทยาศาสตร์ที่มีค่าของเลขชี้กำลังที่มากกว่า 0
ง. ถูกทุกข้อ
4.       H แสดงถึงอะไร
                ก. แสดงค่าในรูปแบบวิทยาศาสตร์ที่มีค่าของเลขชี้กำลังที่มากกว่า 0
                ข. บอกว่าจะแสดงวันในข้อมูลชนิด Date อย่างไร
                ค. บอกว่าจะแสดงชั่งโมงในข้อมูลชนิด Time อย่าง
                ง. ไม่มีข้อใดถูก
5.        สัญลักษณ์ S หมายถึง
                ก. บอกว่าจะแสดงวินาทีในข้อมูลชนิด Time อย่างไร
                ข. บอกว่าจะแสดงนาทีในข้อมูลชนิด Time อย่างไร
                ค. บอกว่าจะแสดงชั่งโมงในข้อมูลชนิด Time อย่าง
                ง. บอกว่าจะแสดงวันในข้อมูลชนิด Date อย่างไร
6.       สัญลักษณ์ <  >  หมายถึง
                ก. แสดงตัวอักษรทุกตัวในฟิลด์เป็นตัวใหญ่ทั้งหมด
                ข. แสดงตัวอักษรทุกตัวในฟิลด์เป็นตัวเล็กทั้งหมด
                ค. ไม่แสดงข้อมูลเลย
                ง. ถูกทั้งข้อ ก  และข้อ ข
7.      ฟิลด์ZipCode หมายถึงอะไร
                ก. ที่เก็บรหัสไปรษณีย์ จะรับข้อมูลที่เป็นตัวเลย (0-9)และรับได้ 5 ตัวเท่านั้น
                ข. ที่เก็บหมายเลยโทรศัพท์
                ค. บอกการเสียภาษี
                ง. ไม่มีข้อใดถูกต้อง
8.      กรณีที่เราต้องการให้แสดงอักษรทุกตัวเป็นตัวใหญ่ทั้งหมด เราต้องใช้สัญลักษณ์ใด
                ก. }                         ข. >
                ค. ]                          ง. )

9.     กเรากำหนด Format เป็น $0000.## ข้อมูล 125.5 จะแสดงออกแบบใด
                ก. $125.50            ข. $0125.5
                ค. $0125.50          ง. $125.5
10.     เราสามารถเปิดหน้าต่างเพื่อสร้างความสัมพันธ์ของตารางในฐานข้อมูลได้โดยวิธีใด
                ก. เลือกเมนู Tools>Relationships     ข. เลือกเมนู Tools>Startup
                ค. Click mouse                                     ง.ข้อ ก. และ ค. ถูก
                 เฉลย
1.    ตอบ       
2.    ตอบ       
3.    ตอบ       
4.    ตอบ       
5.    ตอบ       
6.    ตอบ       
7.    ตอบ       
8.    ตอบ       
9.    ตอบ       
10.   ตอบ       

                  บทที่ 4 การเพิ่มความสามารถให้กับตาราง

               เราได้ศึกษาการสร้างตารางเบื้องต้นมาจากบทที่แล้ว และได้ใส่ข้อมูลต่างๆ สำหรับในบทนี้ เราจะมาศึกษาในเรื่องการเพิ่มความสามารถให้กับตารางเช่น การตรวจสอบความถูกต้องของข้อมูล รูปแบบการแสดงผลของข้อมูล เป็นต้น และในตอนสุดท้ายเราจะมากำหนดความสัมพันธ์ระหว่างตาราง เพื่อทำให้ข้อมูลต่างๆ สามารถเชื่อมกันได้เหมือนกับเป็นตารางใหญ่ตารางหนึ่ง ซึ่งการเชื่อมความสัมพันธ์นี้ ใน Access สามารถทำได้อย่างง่ายดาย
มาจนถึงตอนนี้ เราได้เรียนรู้การสร้างตารางอย่างง่ายๆ ใน Access รวมทั้งการทำงานกับเรคอร์ดใน ตารางเบื้อง ซึ่งเป็นสิ่งจำเป็นสำหรับเรียนรู้ในหัวข้อนี้ โดยในหัวข้อนี้จะเป็นการกำหนดคุณสมบัติบางอย่างให้กับตารางและฟิลด์เพิ่มเติม เพื่อให้สามารถทำสิ่งต่างๆ ดังต่อไปนี้ได้
-          กำหนดรูปแบบในการแสดงผล เช่น ในการแสดงผลราคาสินค้า สมมติว่าเราต้องการให้ราคาสินค้าแสดงผลอยู่ในรูป 1,234,567.00฿ เราต้องกำหนดคุณสมบัติที่เกี่ยวกับการแสดงผลของฟิลด์ เป็นต้น
-          การคบคุมค่าที่ใส่ให้กับฟิลด์ เช่น สมมติว่า เราต้องการให้ฟิลด์ Zip Code รับเฉพาะตัวเลข 0 ถึง 9 จำนวน 5 ตัวเท่านั้น เราต้องกำหนดคุณสมบัติที่เกี่ยวกับการควบคุมค่าที่ใส่ให้กับฟิลด์ เป็นต้น
-          การตรวจสอบความถูกต้องของข้อมูลที่ใส่ลงไปในตาราง เช่น ราคาสินค้าต้องมีค่ามากกว่าศูนย์ เป็นต้นในการกำหนดคุณสมบัติเพิ่มเติมของฟิลด์ เราต้องกำหนดในมุมมอง Table Design ซึ่งเราได้เรียนรู้การใช้งานจากต้นบทนี้มาแล้ว และในหัวข้อนี้จะใช้มุมมองนี้ในการกำหนดคุณสมบัติที่ละประเภท เพื่อให้สามารถทำงานตามที่ยกตัวอย่างมาแล้วในข้างต้น และจะแสดงผละลัพธ์ของคุณสมบัติประเภทต่างๆ ในมุมมอง Table Datasheet เพื่อจะให้เราเข้าใจความหมายของการกำหนดคุณสมบัติต่างๆ เหล่านี้ เราจะกล่าวถึงรายละเอียดในการกำหนดคุณสมบัติในแต่ละประเภทดังต่อไปนี้

การกำหนดรูปแบบการแสดงผลของฟิลด์
การกำหนดรูปแบบในการแสดงผลของฟิลด์เราสามารถกำหนดส่วนต่างๆ ใน Field Properties ของ มุมมอง Table Design ดังรูป




คุณสมบัติต่างๆ ที่เกี่ยวข้องกับการกำหนดรูปแบบการแสดงผลของฟิลด์ มีรายละเอียดดังต่อไปนี้
·       Format คุณสมบัตินี้จะใช้กำหนดรูปแบบในการแสดงผลของฟิลด์ซึ่งจะไม่มีผลต่อค่าของข้อมูล เราสามารถกำหนดรูปแบบเองได้ นอกเหนือจากที่เราสามารถเลือกได้จากคอมโบบ็อกซ์โดยใช้ข้อมูลในตารางต่อไปนี้
สัญลักษณ์
ความหมาย
ตัวอย่าง
ว่าง
แสดงผลแบบธรรมดาทั่วไป

0
แสดงผลเป็นตัวเลขนั้น ถ้าไม่มีก็แสดงเป็นเลข 0
Format = 0000.00 แสดงเป็น 0124.50
#
แสดงผลเป็นตัวเลขตัวนั้น ตัวเลข 0 ที่อยู่ข้างหน้าและหลังจะไม่แสดง
Format =####.## แสดงเป็น 124.5
$
แสดงสัญลักษณ์ $ ในตำแหน่งนั้น
Format =$##,###.00 แสดงเป็น $1,124.50
.
แสดงจุดทศนิยมในตำแหน่งนั้น
Format = ###.00 แสดงเป็น 125.50
,
แสดงสัญลักษณ์ , ในตำแหน่งนั้น
Format = #,###,###.00 แสดงเป็น 1,345,345.00
E+, e+
แสดงค่าในรูปแบบวิทยาศาสตร์ที่มีค่าของเลขชี้กำลังที่มากกว่า 0
Format = #.###E+00 ค่า 0.987 แสดงเป็น 1,345,345.00
E-,e-
แสดงค่าในรูปแบบวิทยาศาสตร์ที่มีค่าของเลขชี้กำลังที่มากกว่า 0
Format = #.###E-00 ค่า 0.987 แสดงเป็น 9.87 E-01
/
แสดงสัญลักษณ์ / เพื่อแยกวันเดือนปีของข้อมูลชนิด  Date ออกจากกัน
Format = dd/mm/yy ค่า 06/097
d
บอกว่าจะแสดงวันในข้อมูลชนิด Date อย่างไร
d แสดง 7, dd แสดง 07, ddd แสดง Sun และ ddd แสดงเป็น Sunday
m
บอกว่าจะแสดงเดือนในข้อมูลชนิด Date อย่างไร
M แสดง 2, mm แสดง 02, mmm แสดง Feb และ mmm แสดงเป็น February
y
บอกว่าจะแสดงปีในข้อมูลชนิดปีในข้อมูลชนิด Date อย่างไร
yy  แสดง 98, yyyyแสดง 1998
:
แสดงสัญลักษณ์ : เพื่อแยก ชั่วโมง นาที และวินาทีของข้อมูลชนิด Time ออกจากกัน
Format = hh:mm:ss ค่า 11:02:56
h
บอกว่าจะแสดงชั่งโมงในข้อมูลชนิด Time อย่างไร
h แสดงเป็น3, hh แสดงเป็น 03
n
บอกว่าจะแสดงนาทีในข้อมูลชนิด Time อย่างไร
n แสดงเป็น6, nn แสดงเป็น 06
s
บอกว่าจะแสดงวินาทีในข้อมูลชนิด Time อย่างไร
s แสดงเป็น5, ss แสดงเป็น 05
AM/PM
บอกว่าจะแสดงเวลาในรูปแบบ 12 ชั่วโมงโดยมี AM หรือ PM ต่อท้าย
Format = hh:nn AM/PM,ถ้าเวลาเป็น 16:00 จะแสดงเป็น 4:00 PM
>
แสดงตัวอักษรทุกตัวในฟิลด์เป็นตัวใหญ่ทั้งหมด

<
แสดงตัวอักษรทุกตัวในฟิลด์เป็นตัวเล็กทั้งหมด




·       Decimal Places เป็นคุณสมบัติที่บอกว่าจะให้แสดงจุดทศนิยมกี่ตำแหน่ง จะมีผลเฉพาะกับข้อมูลชนิด Number กับ Currency เท่านั้น และมีผลเฉพาะการแสดงผลเท่านั้น ไม่มีผลต่อค่าของข้อมูล
·       Caption เป็นข้อความที่จะให้แสดงบนหัวคอลัมน์ในมุมมอง Table Datasheet นอกเหนือจากชื่อฟิลด์
ตัวอย่างที่ 4.1 แสดงการกำหนดคุณสมบัติในการแสดงผลของฟิลด์
ตัวอย่างนี้เราจะกำหนดคุณสมบัติในการแสดงผลของฟิลด์ ProductID , UnitPrice ของตาราง TblProducts ซึ่งกำหนดคุณสมบัติของฟิลด์ต่างๆ ดังตารางต่อไปนี้
ชื่อฟิลด์
คุณสมบัติ
ค่าที่กำหนดให้
ProductID
Format
0000

Decimal Places
0

Caption
รหัสสินค้า
UnitPrice
Format
#,##0.00\฿

Decimal Places
2

Caption
ราคาสินค้าต่อหน่วย (บาท)




การกำหนดคุณสมบัติของค่าที่ป้อนให้ฟิลด์
คุณสมบัติที่เราจะกล่าวถึงในหัวข้อนี้ จะเป็นคุณสมบัติเกี่ยวกับค่าที่จะป้อนให้กับฟิลด์ เราจะลองดูตาราง TbICustomers, TbIProducts และ TblOrders เป็นตัวอย่าง และคุณสมบัติต่างๆ เหล่านี้มีความสำคัญหรือไม่ เช่น
·       ฟิลด์ ZipCode ที่เก็บรหัสไปรษณีย์ จะรับข้อมูลที่เป็นตัวเลข (0-9 )และรับได้ 5 ตัวเท่านั้น
·       ฟิลด์ Telephone ที่เก็บหมายเลขโทรศัพท์ จะรับข้อมูลที่อยู่ในรูปแบบตัวเลข (???)??????? โดยที่ ? แทนตัวเลข 1 ตัว หรือช่องว่างก็ได้ เช่น (062) 4536789 เป็น
·       ฟิลด์ VATFlag ที่บอกว่าสินค้านั้นเสียภาษีหรือไม่ ต้องการให้ค่าเริ่มต้นค่าหนึ่ง สำหรับชนิดสินค้าแต่ละประเภทใช้หรือไม่ เช่น สินค้าประเภทหนังสือไม่ต้องเสียภาษี ของฟิลด์นี้จึงเป็น No ใช่หรือไม่ จึงเป็นการดีที่เราจะกำหนดค่าเริ่มต้นเป็น No เพื่อสะดวกในการป้อนค่าลงในตารางเป็นต้น
·       เราต้องการค่าของฟิลด์ CurtomerID ซึ่งเป็นคีย์หลักของตาราง TbICustomers เป็นข้อมูลชนิด Autonumber ซึ่ง Access จะกำหนดค่าให้อัตโนมัติเมื่อเพิ่มข้อมูลเข้าไปในตาราง เราต้องการให้ค้าหใหม่ที่สร้างเป็นอย่างไร เพิ่มขึ้นจากค่าก่อนหรือให้สุ่มค่าใหม่
ตามที่กล่าวมาแล้วในข้างต้น เราสามารถกำหนดคุณสมบัติต่างๆ เพื่อใช้ทำงานต่างๆ ที่กล่าวมาแล้วข้างต้นโดยคุณสมบัติต่างๆ เหล่านี้มีรายละเลียดดังต่อไปนี้
·       Input Mask เป็นคุณสมบัติที่บอกว่า จะรับข้อมูลที่ผู้ใช้ป้อนในรูปแบบใดบ้าง เช่น ฟิลด์ Zip Code และ Telephone ที่กล่าวมาแล้ว มีรายละเอียดในการกำหนดคุณสมบัติดังตารางต่อไปนี้
ตารางแสดงรายละเอียดของการกำหนดคุณสมบัติ Input Mask ของฟิลด์
ตัวอักขระในคุณสมบัติ
คำอธิบาย
ข้อความว่าง
จะใส่อย่างไรก็ได้
0
ตัวเลข (0-9 , จำเป็นต้องเป็น และไม่อนุญาตให้มี +  หรือ -)
9
ตัวเลข หรือ space (ไม่จำเป็นต้องป้อน และไม่อนุญาตให้มี + หรือ - )
#
ตัวเลข หรือ space (ไม่จำเป็นต้องป้อน และไม่อนุญาตให้มี space จะแสดงเป็น blank เมื่อเซฟเสร็จแล้ว blank จะกลายเป็น space และ อนุญาตให้มี + หรือ - )
L
ต้องใส่อักขระ ( A- Z) เท่านั้น
?
ให้ใส่อักขระ (A-Z  ไม่จำเป็นต้องป้อน)
A
ใส่ (0-9) หรือ อักขระ (A-Z ) เท่านั้น (จำเป็นต้องป้อน)
A
ใส่ (0-9) หรือ อักขระ (A-Z ) เท่านั้น (ไม่จำเป็นต้องป้อน)
&
ใส่อักขระได้ทุกตัว รวมทั้ง Space (จำเป็นต้องป้อน)
C
ใส่อักขระได้ทุกตัว รวมทั้ง Space (ไม่จำเป็นต้องป้อน)
.,:; / ( )
ต้องใส่เครื่องหมายต่างๆ เหล่านี้ลงไป
>
ตัวอักขระที่ใส่ลงไปจะเปลี่ยนเป็นตัวใหญ่
<
ตัวอักขระที่ใส่ลงไปจะเปลี่ยนเป็นตัวเล็ก
!
จะแสดงค่าจากขวาไปซ้าย เมื่อเราใส่ค่าจากซ้ายไปขวา จะใส่ตัวอักษรนี้ที่ไหนก็ได้
จะแสดงตัวอักษรใดๆ ก็ตามที่อยู่ในเครื่องหมาย
\
จะแสดงตัวอักษรที่ตามมา ใช้เฉพัวแรกที่ตามหลังเท่านั้น



ตัวอย่างเช่น ถ้าต้องการรูปแบบข้อมูลในลักษณะ (423) 155-8965,()423-9568 เราต้องกำหนดคุณสมบัติเป็น \ (999) 000-00000 โดยเราอธิบายการกำหนดคุณสมบัติได้ดังนี้
\ (            จะแสดงสัญลักษณ์ (
999              เราจะต้องใส่เลข (0-9 ) เข้าไป 3 ตัว จะใส่หรือไม่ใส่ก็ได้
)         แสดงเป็นสัญลักษณ์ ) กับ Space
                000         เราจะต้องใส่เลข (0-9 ) ลงไป 3 ตัว
-              แสดงสัญลักษณ์
000         เราจะต้องใส่เลข (0-9) ลงไป 4 ตัว
* lt Value เป็นค่าเริ่มต้นของฟิลด์นี้ ถ้ามีการเพิ่มเรคอร์ดใหม่ลงในตาราง
Required ถ้ากำหนดค่าคุณสมบัตินี้เป็น Yes เราจะต้องใส่ข้อมุลลงไปในฟิลด์นี้ทุกครั้งจะเว้นว่างไม่ได้
·       Allow Zero Length ถ้ากำหนดค่าคุณสมบัตินี้เป็น Yes  ค่าของฟิลด์นี้จะสามารถเป็นข้อความว่างได้ (มีขนาดเป็น 0)
·       New Values เป็นคุณสมบัติที่มีเฉพาะกับข้อมูลชนิด AutoNumber เท่านั้น เป็นการบอกว่า ค่าใหม่ที่ใส่ลงไปจะเป็นการเพิ่มค่าหรือการสุ่ม
ตัวอย่างที่ 4.2 แสดงการกำหนดคุณสมบัติของค่าที่จะป้อนให้กับฟิลด์
ตัวอย่างนี้จะกำหนดคุณสมบัติของฟิลด์ CustomerID, CustomerName, CustomerAddress, ZipCode และ Telephone ในตาราง TbICustomers เพื่อทำงานต่างๆ ตามที่กล่าวมาข้างต้น โดยให้เราทำตามขั้นตอนต่อไปนี้
1.       ให้เราเข้าตาราง TbICustomers ในมุมมอง Table Design
2.       แล้วกำหนดคุณสมบัติของฟิลด์ต่างๆ ดังตารางต่อไปนี้
ชื่อฟิลด์
คุณสมบัติ
ค่าที่กำหนดให้
CustomerID
New Values
Increment
CustomerName
Required
Yes

Allow Zero Length
No
CustomerAddress
Required
Yes

Allow Zero Length
No
ZipCode
Input Mask
00000

Default Value
10000

Required
No

Allow Zero Length
No
Telephone
Input Mask
\ (999”)”000\-0000

Required
No

Allow Zero Length
No



3.       กำหนดคุณสมบัติต่างๆ เสร็จแล้ว ให้เราลองเข้าไปในมุมมอง Table Datasheet แล้วทดลองสิ่งต่างๆ ต่อไปนี้
·       เมื่อเพิ่มเรคอร์ดใหม่ลงไปในตาราง ค่าของฟิลด์ CustomerID จะเพิ่มค่าจากเรคอร์ดที่เพิ่มครั้งล่าสุดซึ่งเป็นผลมาจากกำกำหนดคุณสมบัติ New Values เป็น Increment
·       ไม่ใส่ข้อมูลในฟิลด์ CustomerName, CustomerAddress แล้วไปยังเรคอร์ดอื่นจะปรากฏไดอะล็อกซ์ บอกชื่อฟิลด์ที่ไม่ได้ใส่ค่า ต้องให้เราใส่ค่าลงไป เนื่องจากคุณสมบัติ Required ของฟิลด์นั้นมีค่าเป็น Yes
ถ้าใส่ข้อความว่าง (“”) ลงไปในฟิลด์ CustomerName, CustomerAddress แล้วไปยังเรคอร์ดอื่นจะปรากฏไดอะล้อกซ์ บอกว่าเป็นข้อความว่างไม่ได้ และให้ใส่ค่าใหม่ เนื่องจากคุณสมบัติ Allow Zero Length ถูกกำหนดเป็น No
·       การใส่ข้อมูลลงไปในฟิลด์ ZipCode จะถูกจำกัดในรูปแบบ เช่น 15000, 15600 เป็นต้น เนื่องจากการกำหนดคุณสมบัติ Input Mask เป็น 00000 และค่าเริ่มต้นจะเป็น 10000 เนื่องจากการกำหนดคุณสมบัติ Default Value เป็น 10000
·       การใส่ข้อมูลไปในฟิลด์ Telephone จะถูกจำกัดในรูปแบบ เช่น (062)445-6785 เป็นต้น เนื่องจากการกำหนดคุณสมบัติ Input Mask เป็น \ (999”)”000\ 0000
คุณสมบัติที่เกี่ยวกับการตรวจสอบความถูกต้องของฟิลด์
การตรวจสอบความถูกต้องข้อมูลที่ใส่เข้าไปในตารางนั้นมีความสำคัญมาก เนื่องจากข้อมูลที่ไม่ถูกต้องจะทำให้การประมวลผลข้อมูลผิดพลาด ในหัวข้อนี้เราจะมาศึกษากันในการกำหนดคุณสมบัติของฟิลด์ เพื่อให้ตรวจสอบความถูกต้องให้เราอัตโนมัติ เราจะดูตัวอย่างตาราง TbIProducts เช่น
·       ฟิลด์ UnitPrice ราคาสินค้าต้องมีค่ามากกว่า 0
จากที่กล่างมาข้างต้น เราสามารถกำหนดคุณสมบัติได้ดังตารางต่อไปนี้ เพื่อช่วยในการตรวจสอบความถูกต้องของข้อมูล
ตารางแสดงรายละเอียดคุณสมบัติที่เดี่ยวกับการาตรวจสอบความถูกต้องของฟิลด์
ชื่อคุณสมบัติ
รายละเอียด
Validation Rule
ใช้กำหนดกฎที่ใช้ในการตรวจสอบความถูกต้องของฟิลด์นี้
Validation Text
จะเป็นข้อความที่จะให้แสดงเตือนผู้ใช้ใส่ข้อมูลลงไปในฟิลด์ไม่ถูกต้องตามกฎที่กำหนดในคุณสมบัติ Validation Rule



ตัวอย่างที่ 4.3 แสดงกำกำหนดคุณสมบัติที่ใช้ตรวจสอบความถูกต้องของข้อมูลในฟิลด์
ตัวอย่างนี้จะแสดงการกำหนดคุณสมบัติที่ใช้ตรวจสอบความถูกต้องของฟิลด์ CategoryID , UnitPrice ในตาราง TbProducts โดยทำตามขั้นตอนต่อไปนี้
1.       ให้เราเข้าตาราง TbProducts ในมุมมอง Table Design แล้วกำหนดคุณสมบัติ ของฟิลด์ดังตารางต่อไปนี้
ชื่อฟิลด์
คุณสมบัติ
ค่าที่กำหนดให้
CategoryID
Validation Rule
In (1,2,3,4)

Validation Text
รหัสชนิดสินค้าต้องมีค่าเป็น 1,2,3, หรือ 4
UnitPrice
Validation Rule
>0

Validation Text
ราคาสินค้าต้องมีค่ามากว่า 0




2.       จากนั้นให้เราเข้าไปในมุมมอง Table Datasheet แล้วลองใส่ข้อมูลลงไปในฟิลด์ CategoryID, UnitPrice เป็น 5, -10 ตามลำดับ (อย่าลืมใส่ค่าในฟิลด์อื่นๆ ด้วย) เสร็จแล้วลองไปยังเซลอื่น จะปรากฏไดอะล็อกซ์แสดงข้อความที่เรากำหนดในคุณสมบัติ Validation Text ขึ้นมาบอกว่า ข้อมูลที่เราใส่ไม่ถูกต้องให้เราแก้ไขจนกว่าจะถูกต้องตามที่เรากำหนดในคุณสมบัติ Validation rule
มาถึงหัวข้อนี้ เราคงสามารถสร้างฟิลด์ในแบบที่ต้องการได้แล้ว เนื่องจากเป็นพื้นฐานที่สำคัญมาก และเมื่อเรากำหนดคุณสมบัติของฟิลด์แล้ว ขั้นต่อไปเราจะมากำหนดคุณสมบัติของตารางกัน ซึ่งจะเกี่ยวข้องกับฟิลด์ทุกฟิลด์ในตาราง เช่น เราคิดว่าวันที่ส่งสินค่าในรายการสั่งสินค่าต้องเป็นวันที่หลังจากวันที่สั่งสินค้าใช่หรือไม่ เป็นต้น จากที่ยกตัวอย่าง จะเห็นไดว่า คุณสมบัติของตารางจะเกี่ยวข้องกับฟิลด์ทุกฟิลด์ทุกฟิลด์ในตาราง
ในหัวข้อนี้ เราจะกล่าวถึงการกำหนดคุณสมบัติ เพื่อทำการตรวจสอบความถูกต้องดับกล่าวข้างต้นให้กับเราแบบอัตโนมัติ ดังนั้น ในหัวข้อนี้เราจะมาศึกษากันในเรื่องต่างๆ ดังต่อไปนี้
การเรียกหน้าต่างคุณสมบัติของตาราง
ในการเรียกหน้าต่างคุณสมบัติของตาราง ให้เราทำตามขั้นตอนต่อไปนี้
1.       ให้เราเข้าตารางที่จะกำหนดคุณสมบัติในมุมมอง Table Design
2.       จากนั้นให้เรา Click mouse เมนู View>Properties จะปรากฏหน้าต่าง Table Properties ที่ใช้กำหนดคุณสมบัติตาราง
รายละเอียดคุณสมบัติต่างๆ ของตาราง
รายละเอียดคุณสมบัติต่างๆ ที่สำคัญของตารางที่ปรากฏในหน้าต่าง Table Properties มีความหมายดังตารางต่อไปนี้
ชื่อคุณสมบัติ
รายละเอียด
Description
คำอธิบายเพิ่มเติมสำหรับตาราง
Validation Rule
ใช้กำหนดกฎที่ใช้ในการตรวจสอบความถูกต้องของตาราง
Validation Text
จะเป็นข้อความที่จะให้แสดงเตือน เมื่อผู้ใช้ใส่ข้อมูลลงไปในฟิลด์ไม่ถูกต้องตามกฎที่กำหนดในคุณสมบัติ Validation Rule



ตัวอย่างที่ 4.4 แสดงการกำหนดคุณสมบัติในกับตาราง
ตัวอย่างนี้จะเสดงการกำหนดคุณสมบัติให้กับตาราง TblOrders จากที่เรากล่าวมาแล้วว่า เพื่อตรวจสอบค่าของฟิลด์ ShippedDate (วันส่งสินค้า) ต้องหลังจากฟิลด์ OrderDate (วันสั่งสินค้า) ให้เราทำตามขั้นตอนต่อไปนี้
1.       เข้าตาราง TblOrders ในมุมมอง Table Design และปิดหน้าต่างคุณสมบัติของตารางขึ้นมา โดยการ Click Mouse เมนู View>Properties
2.       เสร็จแล้วกำหนดคุณสมบัติต่างๆ ของตาราง ดังตารางต่อไปนี้
3.       เมื่อกำหนดคุณสมบัติเสร็จเรียบร้อยแล้ว ให้เราดูผลลัพธ์ที่เกิดขึ้นในมุมมอง Table Datasheet โดยการป้อนข้อมูลที่ไม่ตรงกับกฎที่เราใส่ลงไป จะปรากฏไดอะล็อกซ์แสดงข้อความในคุณสมบัติ Validation Text ขึ้นมา ต้องให้เราใส่ข้อมูลในฟิลด์นี้ให้ถูกต้องจึงจะทำงานต่อไปได้
การสร้างความสัมพันธ์ระหว่างตาราง
จากที่กล่าวมาแล้วจนถึงตอนนี้ เราสามารถตารางที่กำหนดคุณสมบัติต่างๆ ให้กับฟิลด์ได้อย่างครบถ้วนตามที่เราต้องการแล้ว ขึ้นตอนต่อไปจะเป็นการกำหนดความสัมพันธ์ระหว่างตาราง เพื่อจุดประสงค์ในการเชื่อมข้อมูลระหว่างตารางทั้งสองเข้าด้วยกัน เมื่อเราต้องการดึงข้อมูลออกมาใช้ เราสามารถดึงข้อมูลที่สัมพันธ์กันจากในหลายตารางได้เสมือนกับว่าเป็นตารางใหญ่ตารางหนึ่ง
เราจะกล่าวถึงการสร้างความสัมพันธ์ของตารางที่เราได้สร้างขึ้นมา ในหัวข้อดังต่อไปนี้
สิ่งที่ต้องทราบในการสร้างความสัมพันธ์ระหว่างตาราง
ในหัวข้อนี้ จะแสดงการสร้างความสัมพันธ์ระหว่างตารางที่เราได้สร้างขึ้นมาจากในหัวข้อก่อน นอกจากนี้ในการกำหนดความสัมพันธ์ดังกล่าวเราต้องเข้าใจในเรื่อง Enforce Referential Integrity ซึ่งมีอยู่ 2 แบบที่เราสามารถกำหนดใน Access ได้ คือ
·       Cascade Update Related Fields จะเป็นการกำหนดว่า เมื่อค่าของฟิลด์ที่เชื่อมกันในตารางหลักมีการเปลี่ยนแปลงจะให้เปลี่ยนแปลงที่ตารางอีกผั่งด้วยหรือไม่
·       Cascade Delete Related Fields จะเป็นการกำหนดว่า เมื่อเรคอร์ดที่เชื่อมกัน ในคารางหลักมีถูกลบจะให้ลบที่ตารางอีกผั่งด้วยหรือไม่
ตัวอย่างที่ 4.5 แสดงการสร้างความสัมพันธ์ระหว่างตาราง
ตัวอย่างนี้จะแสดงการสร้างความสัมพันธ์ระหว่างตาราง TbIProducts กับ TblCategories เราจะสังเกตได้ว่า ตารางทั้งสองมีความสัมพันธ์ทางฟิลด์ Category โดยจะเป็นความสัมพันธ์แบบ One – to –Many ระหว่างตาราง TblCategories กับ TblProducts การกำหนดความสัมพันธ์ระหว่างตารางทั้งสอง ให้เราทำตามขั้นตอนดังต่อไปนี้
1.       ให้เรา Click mouse เมนู Tools > Relationships (เครื่องมือ> ความสัมพันธ์)
2.       จะปรากฏหน้าต่าง Relationships ให้เรา Click mouse เมนู  Relationships> Show Table (ความสัมพันธ์>แสดงตาราง)
3.       จะปรากฏรายการตารางให้เราเลือกตารางที่จะกำหนดความสัมพันธ์แล้ว Click mouse ปุ่ม Add เพื่อเพิ่มตารางลงไปในหน้าต่าง Relationships ตัวอย่างนี้ให้เราเลือกตาราง TblProducts และ TblCategories เสร็จแล้ว Click mouse ปุ่ม Close
4.       จากนั้น ให้เราเลือกฟิลด์ที่สร้างความสัมพันธ์ระหว่างตารางทั้งสอง โดยการเลือกฟิลด์จากตารางหนึ่งแล้ว Drag mouse ไปยังฟิลด์ที่จะเชื่อมด้วยของอีกตารางหนึ่ง
5.       เสร็จแล้วจะปรากฏไดอะล็อกซ์ Relationships ซึ่งจะให้เรากำหนดฟิลด์ที่จะให้เชื่อมความสัมพันธ์จากตารางทั้งสอง และจะมีการกำหนด Enforce Referential Integrity ซึ่งแต่ละตัวเลือกมีความหมายดังต่อไปนี้
·       Cascade update Related Fields จะเป็นการกำหนดว่า เมื่อค่าของฟิลด์ที่เชื่อมกันในตารางหลักมีการเปลี่ยนแปลงจะให้เปลี่ยนแปลงที่ตารางอีกฝั่งด้วยหรือไม่
·       Cascade Delete Related Fields จะเป็นการกำหนดว่า เมื่อค่าของฟิลด์ที่เชื่อมกันในตารางหลักมีถูกลบจะให้ลบที่ตารางอีกฝั่งด้วยหรือไม่ ในตัวอย่างนี้ให้เลือกทั้ง 2 ข้อ
6.       ถ้าต้องการกำหนดรูปแบบการเชื่อม ให้เรา Click mouse ปุ่ม Join Type.. ซึ่งจะมีตัวเลือกต่างๆ ตามลำดับ ที่มีรายละเอียดดังต่อไปนี้
*จะเป็นการเชื่อมแบบที่นำมาเฉพาะเรคอร์ดที่มีค่าของฟิลด์ตรงกัน เท่านั้น
* จะเป็นการเชื่อมแบบที่นำเรคอร์ดของตารางด้าน One ทั้งหมดมา และนำเฉพาะเรคอร์ดของตารางฝั่ง Many ที่มีค่าของฟิลด์ตรงกันกับตารางฝั่ง One เท่านั้น
* จะเป็นการเชื่อมแบบที่นำเรคอร์ดของตารางด้าน Many ทั้งหมดมา และนำเฉพาะเรคอร์ดของตารางฝั่ง One ที่มีค่าของฟิลด์ตรงกันกับตารางฝั่ง Many เท่านั้น
ในตัวอย่างนี้ให้เราเลือกข้อ 1 เนื่องจากเราต้องใส่แบบสินทุกประเภทต้องมีสินค้าอยู่ในประเภทนั้นเสมอถ้าไม่เช่นนั้นจะสร้างประเภทสินค้าใหม่ไม่ได้
7.       เมื่อกำหนดเสร็จแล้ว ให้เรา Click mouse ปุ่ม Create เพื่อสร้างความสัมพันธ์
สรุปท้ายบทที่ 4
โดยสรุปแล้ว เมื่อเราสร้างตารางข้อมูลขึ้นมาแล้ว เราต้องกำหนดคุณสมบัติการทำงานในเหมาะสมเริ่มตั้งแต่การกำหนดคุณสมบัติของฟิลด์ของฟิลด์ข้อมูลทั้งรูปแบบการแสดงข้อมูลที่เหมาะสม เช่น รูปแบบวันที่ รูปแบบตัวเลข และควบคุมความถูกต้องของค่าข้อมูลที่ใส่เข้าไป เช่น กฎเกณฑ์การใส่ข้อมูล การแจ้งเตือน เมื่อค่าข้อมูลไม่ถูกต้อง จากนั้นจะต้องกำหนดคุณสมบัติของตารางความสัมพันธ์ระหว่างตารางถูกต้องซึ่งจะช่วยทำให้มีการควบคุมการใส่ข้อมูลที่ต้องสอดคล้องสมเหตุสมผลกับความเป็นจริงตามการออกแบบฐานข้อมูลที่กำหนดไว้
แบบฝึกหัดท้ายบทที่ 4
1.   หัวข้อใดที่เราใช้สำหรับกำหนดรูปแบบการแสดงผลของฟิลด์ที่เลือก
ก. Format                              ข. Decimal Places
ค. Caption                             ง. ถูกทุกข้อ
2.     หัวข้อใดใช้สำหรับตรวจสอบความถูกต้องของการกรอกข้อมูลลงในตาราง
                ก. Format                              ข. Caption
                ค. Validation Rule               ง. Input Mask
3.      การกำหนดรูปแบบการแสดงผลของข้อมูลในช่อง Format นั้น สัญลักษณ์ #  ใช้ในกรณีใด
                ก. ไม่แสดงผลข้อมูลในตำแหน่งนั้น
                ข. แสดงตำแหน่งนั้นเป็น #
                ค. แสดงเป็นตัวเลยนั้น โดยไม่แสดง 0 ที่อยู่หน้าและหลัง
                ง. แสดงเป็นตัวเลขนั้น ถ้าไม่มีให้แสดงเป็น 0
4.    กรณีที่เราต้องการให้แสดงอักษรทุกตัวเป็นตัวใหญ่ทั้งหมด เราต้องใช้สัญลักษณ์ใด
                ก. }                         ข. >
                ค. ]                          ง. )
5.    หากเรากำหนด Format เป็น $0000.## ข้อมูล 125.5 จะแสดงออกแบบใด
                ก. $125.50            ข. $0125.5
                ค. $0125.50          ง. $125.5
6.   เราสามารถเปิดหน้าต่างเพื่อสร้างความสัมพันธ์ของตารางในฐานข้อมูลได้โดยวิธีใด
                ก. เลือกเมนู Tools>Relationships     ข. เลือกเมนู Tools>Startup
                ค. Click mouse                                     ง.ข้อ ก. และ ค. ถูก
7.     สัญลักษณ์ #  คืออะไร
ก. แสดงผลแบบธรรมดาทั่วไป        
ข. แสดงผลเป็นตัวเลข
ค. แสดงผลเป็นตัวเลขตันนั้น ตัวเลข 0 ที่อยู่ข้างหน้าและหลังจะไม่แสดง
ง. แสดงลัญลักษณ์ $  ในตำแหน่งนั้น


   8.     E+ , e+ คือการแสดงค่าอะไร
                ก. แสดงค่าในรูปแบบวิทยาศาสตร์ที่มีค่าของเลขชี้กำลังที่มากกว่า 0
ข. แสดงผลเป็นตัวเลข
ค. แสดงผลแบบธรรมดาทั่วไป
ง. แสดงลัญลักษณ์ $  ในตำแหน่งนั้น
9.     เครื่องหมาย / แสดงถึงอะไร
ก. แสดงผลแบบธรรมดาทั่วไป
ข. แสดงสัญลักษณ์เพื่อแยกวันเดือนปีของข้อมูลชนิด Date  ออกจากกัน
ค. แสดงค่าในรูปแบบวิทยาศาสตร์ที่มีค่าของเลขชี้กำลังที่มากกว่า 0
ง. ถูกทุกข้อ
10.     H แสดงถึงอะไร
                ก. แสดงค่าในรูปแบบวิทยาศาสตร์ที่มีค่าของเลขชี้กำลังที่มากกว่า 0
                ข. บอกว่าจะแสดงวันในข้อมูลชนิด Date อย่างไร
                ค. บอกว่าจะแสดงชั่งโมงในข้อมูลชนิด Time อย่าง
                ง. ไม่มีข้อใดถูก

           เฉลย
1. ตอบ                  
2 . ตอบ                 
3. ตอบ                  
4. ตอบ                  
5. ตอบ                  
6. ตอบ                  
7. ตอบ                  
8.ตอบ                   
9. ตอบ                  
10. ตอบ