ความหมายของฟอร์ม
ฟอร์มคือวัตถุฐานข้อมูลที่คุณสามารถใช้เพื่อสร้างส่วนติดต่อผู้ใช้สำหรับโปรแกรมประยุกต์ฐานข้อมูล
ฟอร์ม "ที่ถูกผูกไว้" คือฟอร์มที่เชื่อมต่อโดยตรงกับแหล่งข้อมูล เช่นตารางหรือแบบสอบถาม และสามารถใช้เพื่อใส่ แก้ไข หรือแสดงข้อมูลจากแหล่งข้อมูลนั้นอีกทางเลือกหนึ่งคือ คุณสามารถสร้างฟอร์ม "ที่ไม่ถูกผูกไว้"ซึ่งไม่เชื่อมโยงโดยตรงกับแหล่งข้อมูล แต่ยังคงมีปุ่มคำสั่ง ป้ายชื่อ หรือตัวควบคุมอื่นๆสามารถใช้ฟอร์มที่ถูกผูกไว้เพื่อควบคุมการเข้าถึงข้อมูล เช่นเขตข้อมูลหรือแถวของข้อมูลที่จะแสดง ตัวอย่างเช่น ผู้ใช้บางรายอาจจำเป็นต้องดูเพียงเขตข้อมูลจำนวนหนึ่งในตารางที่มีเขตข้อมูลจำนวนมากการจัดให้ผู้ใช้เหล่านั้นมีฟอร์มที่มีเฉพาะเขตข้อมูลดังกล่าวช่วยให้ผู้ใช้ใช้ฐานข้อมูลได้ง่ายขึ้นนอกจากนี้ คุณสามารถเพิ่มปุ่มคำสั่งและคุณลักษณะอื่นๆลงในฟอร์มเพื่อทำให้การกระทำที่ดำเนินการบ่อยเป็นแบบอัตโนมัติได้
ประเภทของฟอร์ม
1. ฟอร์มเดี่ยวหรือแบบคอลัมน์ใช้แสดงหน้าละ1 เรคคอร์ด และสามารถสร้างปุ่มคำสั่งบนฟอร์ม
2. ฟอร์มต่อเนื่องหรือแบบแถวใช้แสดงได้หลายเรคคอร์ดต่อ1 หน้า และสามารถสร้างปุ่มคำสั่งบนฟอร์ม
3. ฟอร์มแบบตารางข้อมูลใช้แสดงได้หลายเรคคอร์ดต่อ1 หน้า มีความสะดวกในการใช้ร่วมกับคีย์บอร์ด
แต่ไม่สามารถสร้างปุ่มคำสั่งบนฟอร์ม
โครงสร้างของแบบฟอร์ม
การเขียนโครงสร้างแบบฟอร์มใน xhtml ใน tag ต่าง ๆที่จะทำงานร่วมกับโครงสร้างแบบฟอร์มกันก่อนโดยจะกล่าวแบ่งตามประเภทของ (BlockElement และ Inline Element) และสิ่งที่กล่าวถึงจะเป็นส่วนที่ทำงานเกี่ยวกับ Data Entry (การใส่ข้อมูล)ของแบบฟอร์มส่วนโครงสร้างร่วมอื่น ๆ ให้พิจารณาตามความเหมาtสมอาจจะใช้ ul,ol หรือ dl ไม่แนะนำให้ใช้ table ในการจัด layout ของ form มาทำความรู้จักกับtag ที่ทำงานร่วมกับ Data Entry ต่าง ๆ
Block Element ที่อยู่ในโครงสร้างของ Form
1. form เป็นตัวบ่งบอกว่า โครงสร้าง xhtmlต่อไปนี้เป็นแบบฟอร์มให้ผู้ใช้กรอกข้อมูล
2. fieldset เป็นตัวจัดกลุ่มของแบบฟอร์มในหนึ่งโครงสร้าง (จัดให้เป็นสัดส่วน) Inline Element ที่อยู่ในโครงสร้างของForm
1. input ชนิดต่าง ๆ แบ่งตาม attribute
2. select ตัวนี้เราจะรู้จักในนามของพวกDrop Down List ต่าง ๆ
3. เมื่อมีการใช้ select มันก็จะมาพร้อมกับ option เพื่อที่จะทำเป็น listของ drop down ให้เราเลือกใช้
4. ถ้า drop down นั้นมีการจำแนกเป็นกลุ่ม ๆ เราก็ใช้แบ่งมันด้วย optgroup เสียก่อน
5. legend เป็นการบอกชื่อกลุ่มของแบบฟอร์มที่เราแบ่งไว้ แน่นอนครับมันต้องใช้คู่กับ fieldset
6. label ใช้เพื่อครอบชื่อของ DataEntry ต่าง ๆ เพื่อบอกว่านี่เป็นชื่อของ Data Entry ตัวไหน
7. textarea บริเวณที่เรากรอกข้อมูลแบบหลายบรรทัด
การสร้างฟอร์มย่อยและรายงานย่อย (Subform/Subreport)
การสร้างฟอร์มย่อยและรายงานย่อย (Subform/Subreport) จะเกิดขึ้นเมื่อการออกแบบข้อมูล1 รายการ (Record) มีการสร้างข้อมูลย่อยอีกหลายรายการเช่น การลงทะเบียนนักศึกษา 1 คนสามารถลงทะเบียนได้มากกว่า 1วิชา หรือการเช่าหนังสือของผู้เช่า 1 รายสามารถเช่าหนังสือได้มากกว่า1 เรื่อง หรือ การออกแบบใบเสร็จรับเงินให้กับผู้ซื้อสินค้า 1รายซึ่งสามารถซื้อสินค้าได้มากกว่า 1 ชนิดหรือมากว่า1 รายการ ฯลฯ
ตัวอย่าง
การออกแบบฟอร์มเพื่อบันทึกการจำหน่ายสินค้าหรือพิมพ์ใบเสร็จรับเงินให้กับลูกค้าโดย ใบเสร็จรับเงิน 1 ใบ ประกอบด้วย เลขที่ใบเสร็จวันที่ขาย ชื่อลูกค้า และออกแบบรายการย่อยเพื่อจำหน่ายสินค้าและรายการ ประกอบด้วยรหัสสินค้า ชื่อสินค้า ราคา/หน่วย จำนวน ราคารวม
1) ออกแบบตารางเพื่อนำมาออกแบบบนฟอร์มทั้งหมด 3 ตาราง
2) ออกแบบความสัมพันธ์ระหว่างตาราง
โดยการกำหนดให้ตารางชื่อ invoice เป็นฐานข้อมูล และกำหนดให้เขต ข้อมูล no(เลขที่ใบเสร็จ) มีคุณสมบัติเป็นคีย์หลัก เพื่อนำไปเชื่อมเขต ข้อมูลno (เลขที่) ในตารางชื่อ Sale_goods และกำหนดให้ตารางชื่อ
goods เป็นฐานข้อมูล และกำหนดให้เขตข้อมูล g_code (รหัสสินค้า) มีคุณสมบัติเป็นคีย์หลัก เพื่อนำไปเชื่อ,เขตข้อมูล no(เลขที่) ในตาราง ชื่อ sale_goods เช่นเดียวกันโดยกำหนดความสัมพันธ์เป็นชนิดหนึ่งต่อกลุ่ม (one to many)
3) ออกแบบตารางแบบสอบถาม (Queries)เพื่อเชื่อมความสัมพันธ์ระหว่างตาราง sale_goods และ goods และคำนวณราคารวมของสินค้าแต่ละรายการ
ขั้นตอนการออกแบบ
· เลือกเมนูสร้าง (Create) เลือกออกแบบแบบสอบถาม (Design View)
· เลือกตาราง sale goods และ goods
· เลือกเขตข้อมูล no, g_code,g_name, price, num
· ออกแบบเขตข้อมูลใหม่ชื่อ tot
: [price] * [num] แล้วคลิกขวาเลือกคุณสมบัติ (Properties) และกำหนดป้ายคำอธิบาย (Caption) เป็น ราคารวมกำหนดรูปแบบ (Format) เป็น ฿#,###
· บันทึกตารางแบบสอบถาม (Queries)ชื่อ Q_Sale
ขั้นตอนการออกแบบฟอร์ม
· เลือกตาราง invoice เลือกเมนูสร้าง (Create) เลือก ตัวช่วยสร้างฟอร์ม (FormWizard)
· เลือกเขตข้อมูล invoice ทุกเขตข้อมูล
· เลือกแบบสอบถามชื่อ Q_Sale เลือกเขตข้อมูล Q_Sale ทุกเขตข้อมูล
· เลือกการแสดงข้อมูล (Viewyour data) แบบ By invoice
· เลือกประเภทฟอร์มแบบฟอร์มที่มีฟอร์มย่อย(Form with Subform(s))
· เลือกรูปแบบฟอร์ม (Style) ตามต้องการ
· ระบุชื่อฟอร์มหลักและชื่อฟอร์มย่อย (subform) ตามต้องการ
· เลือก ปรับเปลี่ยนการออกแบบฟอร์ม (DesignView) เลือก เสร็จสิ้น (Finish)
· จะเข้าสู่มุมมองออกแบบดับเบิลคลิกฟอร์มย่อยลบเขตข้อมูลno(เลขที่)ออกจากฟอร์มย่อยเพราะจะมีการบันทึกอัตโนมัติทุกครั้งที่บันทึกรายการสินค้าบนฟอร์มย่อยแต่ละรายการพร้อมปรับแต่งขนาด อักษร และรูปแบบตามความเหมาะสม (และกำหนดคุณสมบัติของกล่องข้อความg_name, price และ tot เลือกเปิดใช้งาน=ไม่ใช่เลือกล็อค=ใช่เพราะจะแสดงตามการเชื่อมโยงระหว่างตารางและการคำนวณตามที่ออกแบบใoแบบสอบถามห้ามแก้ไขหรือเปลี่ยนแปลง)
· กรณีต้องการสรุปผลข้อมูลในฟอร์มย่อยให้ออกแบบในส่วนของส่วนท้ายของฟอร์มในตัวอย่างต้องการหาค่าผลรวมทั้งหมดของราคารวม(tot)โดยการเลือกเครื่องมือกล่องข้อความ(TextBox)คลิกขวาเลือdคุณสมบัติ(Properties)เลือกแหล่งระเบียนระบุ=sum([tot])ก็จะได้ค่าผลรวมที่ต้องการ พร้อมบันทึกฟอร์มย่อย (Subform)
· กลับมายังมุมมองฟอร์มหลักเพื่อกำหนดรูปแบบฟอร์มตามต้องการพร้อมบันทึก จะได้ฟอร์มประเภทฟอร์มหลักที่มี ฟอร์มย่อย (Subform) ตามต้องการ
ความหมายของรายงาน (Report)
หมายถึง การนำข้อมูลที่ได้จากตาราง/แบบสอบถาม (Table/Query) และผลลัพธ์ที่ได้จากการประมวลผลมาจัดรูปแบบเพิ่มพิมพ์รายงานที่ได้จากการออกแบบพิมพ์ออกทางเครื่องพิมพ์รายงานที่ได้สามารถแสดงออกได้ทั้งทางจอภาพ (Print Preview หรือภาพก่อนพิมพ์)และพิมพ์ลงกระดาษพิมพ์ (Print) การรายงานเหมาะสำหรับการแสดงข้อมูลที่มีจำนวนมากเพราะสามารถจัดรูปแบบแต่ละหน้ากระดาษได้ดีกว่าการแสดงบนฟอร์มซึ่งมีขนาดจอภาพเป็นข้อจำกัดในการแสดง
ส่วนประกอบของรายงาน (Report)
1. Report Header สำหรับทำเป็นหน้าปกแรกของรายงานหรือใช้สำหรับแสดงออบเจ็กต์ที่ทำงานเพียงครั้งเดียว
2. Page Header ซึ่งจะอยู่ด้านบนของทุกหน้ารายงานยกเว้นหน้าที่เป็น Report Header ซึ่งตามปกติแล้วเราจะเห็น Page Header ที่แต่ละหน้ารายงานเสมอ
3. Details เป็นส่วนแสดงรายละเอียดของข้อมูลในรายงานถ้าหากมีรายงานมากหรือมีข้อมูลมากจะแสดง หลาย ๆ หน้า
4. Report Footer เป็นส่วนที่ทำงานเพียงครั้งเดียวเท่านั้น คือสิ้นสุดรายงานที่ตรงไหนก็แสดงที่ตรงนั้น
นำมาใช้แสดงยอดรวมของรายงานเสมอ
5. Page Footer เป็นรายงานส่วนสุดท้ายที่แสดงที่ด้านล่างของหน้ารายงานที่เกิดจากDetail และแสดงทุกหน้าที่มีรายงาน
การออกแบบรายงาน
การออกแบบรายงานต้องคำนึงการกำหนดตัว Control ลักษณะของรายงานและการจัดกลุ่ม ซึ่ง ตัว Controlเป็นองค์ประกอบพื้นฐานของรายงาน เช่นเดียวกับฟอร์มตัว Controlแบบ Bound เป็น
1. ตัว Control ที่มีฟิลด์จาก Table หรือคิวรี่เป็นแหล่งข้อมูล
2. ตัว Control แบบ Unbound เป็นตัว Control ที่ไม่มีแหล่งข้อมูลแต่สามารถดึงค่าของฟิลด์มา ใช้ได้
3. ตัว Control แบบคำนวณ เป็นตัว Control ที่สร้างจาก Expression
การเจาะจงการแสดงข้อมูล
การเจาะจงการแสดงข้อมูลเป็นการควบคุมการแสดงผลให้มีความน่าสนใจคุณสมบัติที่สำคัญได้แก่
1. คุณสมบัติ Can Grow และ Can Shrink ใช้ควบคุมพื้นที่ตามปริมาณข้อมูล
เมื่อมีการสั่งพิมพ์ รายงาน
2. คุณสมบัติซ่อนข้อมูล (HideDuplicate) เพื่อซ่อนค่าของเรคคอร์ดที่ซ้ำกัน
3. คุณสมบัติผลรวมสะสม (RunningSum) ใช้การแสดงค่าสะสมให้กับแต่ละเรคคอร์ดของกลุ่มเดียวกัน
การกำหนดคุณสมบัติ
การกำหนดคุณสมบัติเป็นแนวคิดแบบ Object oriented programming โดยสามารถกำหนดค่าคุณสมบัติให้กับตัวControl และรายงานได้ ในกรณีตัว Control จะมีค่าคุณสมบัติเริ่มต้นจากฟิลด์ในการแสดงค่าแต่สามารถกำหนดเป็นค่าเฉพาะภายในฟอร์มให้เหมาะสมกับการใช้งานโดยมีกลุ่มคุณสมบัติ
ดังนี้
1. Data กำหนดลักษณะข้อมูลและควบคุมค่าที่ป้อน
2. Event เป็นการใช้ Event ควบคุมโดยทำงานร่วมกันมาโคร หรือ Sub Procedure
3. Format กำหนดรูปแบบการแสดงผล เช่นจำนวนทศนิยม ตัวอักษร รูปแบบต่างๆ
4. Other กำหนดค่าคุณสมบัติอื่นๆเช่น ชื่อตัว Control ข้อความที่แถบบอกสถานะ
การกำหนดหน้ากระดาษ (Page Setup)
เราสามารถตั้งค่าหน้ากระดาษเพื่อให้ตรงตามความต้องการของเราได้เช่น ทิศทางการพิมพ์ ขนาดของกระดาษ หรือหัวกระดาษที่เราต้องการกำหนดให้พิมพ์ทุกครั้งในหน้ากระดาษ เป็นต้น ซึ่งค่าตางๆเหล่านี้เราสามารถกำหนดได้ที่แท็บ PageLayout ซึ่งใน Page Layout มีเครื่องมือต่างๆที่ช่วยให้เราสามารถจัดการกับหน้ากระดาษได้ดังต่อไปนี้
· Margins : ระยะจากขอบกระดาษหรือระยะที่ถูกเว้นวางไว้จากขอบกระดาษถึงจุดที่เรากำหนด
· Orientation : ทิศทางของหน้ากระดาษซึ่งเราสามารถกำหนดได้ว่าเป็นแนวนอน หรือแนวตั้งSize : ขนาดของกระดาษที่ใช้พิมพ์งาน
· Print Area : กำหนดพื้นที่บางส่วนของWorksheet ที่ต้องการพิมพ์งาน
· Break : เป็นการกำหนดขอบเขตของเอกสารเพื่อเป็นการบังคับให้ขึ้นหน้าใหม่
· Background : เพิ่มพื้นหลังให้แก่เอกสาร
· Print Title : เป็นการกำหนดแถวหรือคอลัมน์ที่เราต้องการให้พิมพ์ในเอกสารทุกหน้า หรือการกำหนดหัว และท้ายกระดาษ
- Width : กำหนดให้เอกสารมีความกวางขนาดพอดีกับกระดาษจำนวนกี่หนา
- Height : กำหนดให้เอกสารมีความยาวขนาดพอดีกับกระดาษจำนวนกี่หนา
- Scale : กำหนดให้เอกสารมีขนาดใหญ่ขึ้นหรือเล็กลงกี่เปอร์เซ็นตามคำที่กำหนด
ตัวอย่างก่อนพิมพ์ (Print Preview)
หมายถึงการนำรายงานที่ออกแบบแล้วแสดงตัวอย่างก่อนพิมพ์ตามรูปแบบและขนาดกระดาษที่กำหนดในการตั้งค่าหน้ากระดาษในขณะอยู่ที่ตัวอย่างก่อนพิมพ์ สามารถกำหนดขนาดหน้ากระดาษ เค้าโครงหน้า ย่อ/ขยายและข้อมูล (บันทึกในรูปแฟ้มข้อมูลชนิดต่าง ๆ) บนแถบเครื่องมือ ตัวอย่างก่อนพิมพ์
การพิมพ์ (Print)
หมายถึง การนำตาราง/แบบสอบถาม (Table Query) ฟอร์ม (Form) หรือรายงาน(Report) ออกทางกระดาษพิมพ์ตามรูปแบบการตั้งค่าหน้ากระดาษบนเครื่องพิมพ์ที่กำหนดและติดต่ออยู่กับCPU ที่ทำงานอยู่สามารถกำหนดหน้าในการพิมพ์และจำนวนสำเนาที่ต้องการพิมพ์โดยมีขั้นตอนการพิมพ์ต่อไปนี้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น