Access Step up
จาก SSM Wiki
- อยากที่จะคุยเรื่อง lt บางอ่ะ
ความรู้เบื้องต้นโปรแกรม Access
- ไมโครซอฟท์แอคเซส (Microsoft Access) คือ โปรแกรมเพื่อพัฒนาระบบฐานข้อมูล มีตารางเก็บข้อมูลและสร้างแบบสอบถามได้ง่าย มีวัตถุคอนโทลให้เรียกใช้ในรายงานและฟอร์ม สร้างมาโครและโมดูลด้วยภาษาเบสิก เพื่อประมวลผลตามหลักภาษาโครงสร้าง สามารถใช้โปรแกรมนี้เป็นเพียงระบบฐานข้อมูลให้โปรแกรมจากภายนอกเรียกใช้ก็ได้ ไมโครซอฟท์แอคเซส (Microsoft Access) ต่างกับ วิชวลเบสิก (Visual Basic) หรือ วิชวลเบสิกดอทเน็ต (Visual Basic .Net) เพราะ วิชวลเบสิกไม่มีส่วนเก็บข้อมูลในตนเอง แต่สามารถพัฒนาโปรแกรมได้หลากหลาย เช่น พัฒนาโปรแกรมควบคุมอุปกรณ์ โปรแกรมประยุกต์ทางวิทยาศาสตร์ เกมส์ หรือเชื่อมต่อกับระบบฐานข้อมูลภายนอก เป็นภาษาที่เหมาะกับการพัฒนาโปรแกรมประยุกต์ (Application) ส่วนไมโครซอฟท์แอคเซสเหมาะสำหรับนักพัฒนาระบบฐานข้อมูลที่ไม่ต้องการโปรแกรมที่ซับซ้อน ความสามารถของโปรแกรมที่สำคัญคือสร้างตาราง แบบสอบถาม ฟอร์ม หรือรายงานในแฟ้มเดียวกันได้ ด้วยคุณสมบัติพื้นฐานและวิซซาร์ดจึงอำนวยให้พัฒนาโปรแกรมให้แล้วเสร็จได้ในเวลาอันสั้น มีเครื่องมือที่อำนวยความสะดวกในการพัฒนาระบบฐานข้อมูลอย่างครบถ้วน
- ขั้นตอนการทำโปรแกรม Access
- ตอนที่ 1 : หัดสร้างตาราง และใช้งาน
- ตอน 1.1 : 2 table อย่างง่าย : เพราะจุดเริ่มต้นของ Access คือการเก็บข้อมูล
- ตอน 1.2 : 2 query อย่างง่าย : เรื่องนี้จะช่วยให้การเรียกข้อมูลง่ายดังใจนึก
- ตอน 1.3 : สร้างเพิ่มอีก 6 table : เพื่อฝึกฝน และย้ำความเป็นระบบฐานข้อมูลให้ชัดเจนขึ้น
- ตอนที่ 2 : เริ่มโปรแกรมเบื้องต้น
- ตอน 2.1 : เขียน Module #1 : ใช้ประสบการณ์เดิมศึกษาการคำนวณตามทฤษฎีของการโปรแกรมโครงสร้าง
- ตอน 2.2 : เขียน Module #2 : ศึกษาการใช้ ฟังก์ชันพิเศษอื่น ร่วมในการเขียนโปรแกรม
- ตอน 2.3 : เขียน Module #3 : ศึกษาการทำซ้ำซ้อนกัน .. อาจยากที่สุด แต่บริษัทต่าง ๆ ชอบใช้วัดคนเข้าทำงาน
- ตอน 2.4 : เขียน Module #4 : ศึกษาวิธีการเลือกข้อมูลมาใช้ด้วย if หรือ select
- ตอน 2.5 : เขียน Module #9 : หาอายุ และเปลี่ยนปีไทย เป็นฝรั่ง (ศึกษาจากกรณีของชุติกร)
- ตอนที่ 3 : เรียนรู้ sql เพื่อจะได้ประยุกต์ใช้ต่อไป
- หัวข้อนี้อาจลึกไปสำหรับหลาย ๆ คน ข้ามไปก็ได้นะครับ .. เพราะอาจไม่ต้องใช้ก็ได้
- ตอน 3.1 : เขียน Module #5 : ศึกษาการอ่านข้อมูลจากตารางด้วย select
- ตอน 3.2 : เขียน Module #6 : ศึกษาการเพิ่มข้อมูลด้วย insert
- ตอน 3.3 : เขียน Module #7 : ศึกษาการลบข้อมูลด้วย delete
- ตอน 3.4 : เขียน Module #8 : ศึกษาการแก้ไขข้อมูลด้วย update
- ตอนที่ 4 : เรียนรู้ Form บันทึกข้อมูล และปุ่ม (อย่างง่ายตารางเดียว)
- ตอน 4.1 : form เปิดตาราง #1 : นำตาราง table:catalog มาเปิดในฟอร์ม
- ตอน 4.2 : form เปิดตาราง #2 : สร้างปุ่มประกอบฟอร์มข้างต้น เช่น first,previous,next,last,new เป็นต้น
- ตอน 4.3 : form เปิดตาราง #3 : สร้างปุ่มเต็มจอ พร้อมตัวอย่างการปรับแต่งอย่างง่าย ด้วยสี่เหลี่ยมมีเงา
- ตอนที่ 5 : ใช้ form ปรับปรุงข้อมูล (หัวข้อนี้ ท่านอาจประยุกต์ได้หลากหลาย)
- ตอน 5.1 : เพิ่มข้อมูล ผ่าน form : ใช้วิธีเก็บข้อมูลใน text box แล้วถามยืนยัน ว่าแน่นอนหรือไม่
- ตอน 5.2 : เพิ่มโดยใช้ temp file : เพิ่มข้อมูล เข้า catalogtmp เมื่อยืนยัน จึงจะส่งไปใน catalog
- ตอนที่ 6 : กรณีศึกษาระบบฐานข้อมูล พร้อม MDB file
- แฟ้มสำหรับนำไปทดสอบ tchmdb97.zip 72 KB
- แฟ้มสำหรับนำไปฝึก จัดตารางสอบ timetabling.zip 11 KB
- ประกอบด้วย ข้อมูลการลงทะเบียน ข้อมูลวิชา และข้อจำกัด
- กรณีศึกษา ระบบรับ-ส่งสินค้า
- พัฒนาขึ้นอย่างง่าย ๆ ตามโจทย์ที่คุณสุวิทย์ ได้มาจากการเรียนปริญญาโทที่พะเยา
- กรณีศึกษา ระบบบันทึกเวลาเข้าออกงาน
- ไม่ใช้ปุ่ม แต่ใช้ร่วมกับเครื่องอ่านบัตร เลือกบันทึกการเข้า ออกงาน อัตโนมัติ อย่างง่ายมาก ๆ เพราะมี form เดียวเท่านั้น (ต่อมาเพิ่มรายงานเข้าไป 2 รายงานที่ดึงข้อมูลจาก query เพื่อทำรายงาน คนมา และคนที่ไม่มา)
- กรณีศึกษา บันทึกเวลา ร่วมกิจกรรม
- ฟอร์มเดียว ตารางเดียว จะได้ให้นักศึกษาใช้บัตร Barcode เดินเข้ามารูด เพื่อบันทึกการร่วมกิจกรรม เจ้าหน้าที่ก็จะ copy แฟ้มไปใช้ในโปรแกรมอื่น ๆ ต่อไป
- กรณีศึกษา คำนวณอายุ และปีไทย
- แสดงการทำงานร่วมกับ form และ query โดยใช้ text box เป็นตัวเลือก criteria และเรียกฟังก์ชันโดยตรงจาก module ที่สร้างขึ้นในส่วนกลาง
- กรณีศึกษา yn351003.zip 68 KB
- ระบบ e-Portfolio เพื่อบันทึกข้อมูลการทำงานของบุคลากรแต่ละคน แต่ยังพัฒนาไม่เสร็จ เพราะรอความแน่นอนของผู้บริหาร และคณะกรรมการวิชาการ
- กรณีศึกษา regists.zip
- ระบบบันทึกข้อมูลนักเรียนอย่างง่าย มีการใช้ form ที่ปิดการแสดงผล หรือ logo ของ MS Access ในระดับหนึ่ง แสดงการเรียนรายงาน เลือกข้อมูล Sub form และการใช้ Query ให้ดูเป็นระบบที่สวยงาม ผมทำไว้เตรียมสอนให้นักศึกษาทำ project ลักษณะนี้ได้อย่างง่าย ๆ เหมาะกับจอกว้าง 8 นิ้ว สูงประมาณ 6.3 นิ้ว
- กรณีศึกษา db4order.zip 13 KB
- เก็บตารางเกี่ยวกับการสั่งซื้ออย่างง่าย สอดคล้องกับใน /mysql และ /learn/sader.htm
- orderm : คำว่า m ย่อมาจาก main หมายถึง ข้อมูลการสั่งซื้อของแต่ละใบ ถ้ามี 3 ใบ ก็จะมี 3 ระเบียนในตารางนี้
- orderd : คำว่า d ย่อมาจาก detail หมายถึง ข้อมูลรายละเอียดการสั่งซื้อ เช่นใบสั่ง 3 ใบ อาจสั่งสินค้า 6 รายการ แฟ้มนี้อาจมี 6 ระเบียน
- pro : คำว่า pro ย่อมาจาก product หมายถึง ข้อมูลจำนวนสินค้า อาจมีสินค้าเป็น 1000 รายการ แฟ้มนี้ก็จะเก็บ 1000 ระเบียน
- cust : คำว่า cust ย่อมาจาก customer หมายถึง ข้อมูลจำนวนลูกค้า อาจมีลูกค้าเป็น 1000 รายการ แฟ้มนี้ก็จะเก็บ 1000 ระเบียน
- 2548-05-13 กรณีศึกษา teachgov1.mdb 136 KB (ประกอบการอบรมข้าราชการ)
- พฤษภาคม 48 นำบทเรียนนี้มาปัดฝุ่น เพิ่มเรื่องระบบฐานข้อมูลเกี่ยวกับ การทำ denormalization สำหรับนำไปใช้ทำรายงานได้ทันที และใช้เวลาในการอบรมมากขึ้น (18 ชั่วโมง 3 วันติดกัน) จึงเตรียมเนื้อหาแยกเป็น 8 หน่วย ให้ชัดเจนขึ้น
- ตุลาคม 47 ใช้เวลา 10 ชั่วโมง วันละ 2 ชั่วโมง เน้นให้สามารถออกแบบตาราง ให้กับหน่วยงานของตนได้ แม้จะทราบว่าการเขียน Access ได้จะต้องเข้าใจเรื่อง ระบบฐานข้อมูล การเขียนโปรแกรมเบื้องต้น MIS และ MS Access แต่ข้อจำกัดเรื่องเวลา จึงเตรียมไว้เท่านี้ก่อน
- gov : govid, govname และ salary : yr, govid, salary
- ตัวอย่างใช้งานทั้ง table, query, form, report, macro และ module
- โดยเน้นการสั่งงานหลักจาก form ชื่อ main
- [แผนการสอน ] สำหรับข้าราชการที่มีพื้นฐาน และสนใจ
- Function ใน module สำหรับ เปลี่ยนตัวเลขเป็นอักษร
- กรณีศึกษา พิมพ์ผลประเมินการสอน + พิมพ์ผลจิตพิสัยกลาง ( eval200401m.zip )
- ระบบประเมินมีอยู่แล้ว โปรแกรมนี้เพีบงแต่นำข้อมูลมาพิมพ์รายงานให้กับผู้สอนแต่ละคน
- ระบบการเก็บคะแนน กิจกรรมหลัก และ กิจกกรรมรอง มีแล้ว โปรแกรมนี้เพียงทำรายงาน
- สร้างแฟ้ม .mde ใช้แทน .mdb (เสมือน .exe ที่รู้จักกัน)
นักพัฒนาหลายคนอยากได้ .exe แต่ microsoft Access ไม่มีให้ ทางออกที่มีคือ หลังสร้าง .mdb ก็สร้าง .mde ขึ้นมา แล้วส่งให้กับผู้ใช้นำไปใช้ ส่วน programmer ก็เก็บ .mdb กั๊กไว้พัฒนาโปรแกรมต่อไป ลูกค้าที่ได้แฟ้ม .mde ไป จะไม่สามารถแก้ไข form, report และ module ทำได้เพียงการเปิดมาทำงานเท่านั้น การ import เข้าใน .mdb ตัวอื่นก็ไม่ได้ เพราะ .mde จะป้องกันการคัดลอกไว้เรียบร้อย
