Free Essay

Chapter11 การออกแบบรายงานด วย Business

In:

Submitted By Onlyones
Words 2303
Pages 10
:156:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

บทที่ 11
การออกแบบรายงานด้วย Business Objects Crystal Report
การสร้ างรายงานด้ วย Crystal Report ของบริษัท Business Objects เป็ นโปรแกรมติดตั้งเสริมเพื่อให้
โปรแกรมที่พัฒนาด้ วยภาษาต่างๆให้ มีความสามารถในการสร้ างรายงานได้ ในรูปแบบต่างๆ ซึ่ง การสร้ างรายงาน
ด้ วย Crystal Report น้ ีเพียงพอต่อความต้ องการของนักพัฒนาในการสร้ างรายงาน ดั ง นั้ น ในเวอร์ ชั่ น .NET
ของ Microsoft Visual Studio จึงได้ มีการผนวกเอาความสามารถการสร้ างรายงานของ Crystal Report บรรจุไว้
ด้ วย ซึ่งทาให้ .NET น้ันมีความสามารถในการสร้ างรายงานโดยไม่ต้องติดตั้ งโปรแกรม Crystal Report เพิ่มเติม
จึงมีความสะดวกมากในการพั ฒนาโปรแกรมระบบต่า งๆ ซ่ึงผู้พัฒนาสามารถเลือกติดตั้งโปรแกรม Crystal
Report ของบริษัท Business Objects หรือเลือกที่จะสร้ างรายงานจาก Crystal Report ท่ถูกติดตั้งมาพร้ อมกับ

.NET กได้ ซึ่งเนื้อหาในบทนี้จ ะได้ กล่าวถึงการสร้ างรายงานทั้งสองแบบ จะพบว่ าการสร้ างรายงานที่สองแบบมี

ความไม่แตกต่างกันมากนัก
นอกจากการออกแบบรายงานด้ วยเครื่องมือของ Crystal Report ท้งสองแบบแล้ ว สิ่งสาคัญในการสร้ าง

รายงานด้ วยภาษาต่าง จะต้ องมีชุดคาสั่งในการติดต่อกับไฟล์รายงาน ท่ได้ ออกแบบไว้ โดยในบทนี้น้ ีผ้ ูสอนได้ สร้ าง

คลาสเพื่อใช้ จัดการควบคุมการแสดงผลของรายงานด้ วยแนวคิดเชิงวัตถุ ซึ่ งมีความสะดวกในสาหรับนักศึกษา การ
นาไปต่อยอดและประยุกต์ใช้ ต่อไป
ในการเชื่อมต่อ (Connect) ระหว่ างฐานข้ อมูลและ Crystal report น้ันในการศึกษาในครั้ งนี้จะขอ
ยกตัวอย่ า งกา รเชื่ อ มต่ อผ่ าน ODBC เพื่ อความสะดวกในการศึ กษา ซ่ึ งในการปฏิบั ติจริ ง สามารถเชื่ อมต่ อ
ฐานข้ อมูลนอกเหนือจากเอกสารฉบับนี้
การเตรียมการก่อนการสร้าง
1) ดาว์นโหลดไฟล์ฐานข้ อมูลได้ จาก http://www.teacherroom.net/oop/db/student.accdb จากนั้น
นาไปไว้ ในตาแหน่งที่จะเรียกใช้ ในครั้งในให้ นาไปไว้ ท่ตาแหน่ง C:\database\ student.accdb


บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:157:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

การเชื่อมโยงฐานข้อมูลผ่านเครืองมือ ODBC

1. เลือกไปที่ Control Panel จากนั้นดับเบิลคลิกที่รายการ Administrative Tools แล้ วเปิ ดโปรแกรมที่ช่ ือ
ว่า Data Sources (ODBC) จะพบกับหน้ าต่าง ODBC Data Source Administrator ดังภาพ

2. แล้ วเลือกแถบที่สองคือ System DSN จากนั้นคลิกที่ปุ่ม Add…

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:158:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

3. จะพบหน้ าต่าง Create New Data Source คือรายการ Driver ในการเชื่อมต่อกับฐานข้ อมูลแบบต่าง
เลื่อนหาจากนั้นเลือก Microsoft Access Driver (*.mdb,*.accdb) แล้ วคลิกปุ่ ม Finish

1

2

4. จะพบหน้ าต่าง ODBC Microsoft Access Setup ในช่อง Data Source Name: ให้ ต้ังชื่อเพื่อการ
เชื่อมต่อกับฐานข้ อมูล สามารถตั้งชื่อใดก็ได้ แต่ขอแนะนาว่าให้ เป็ นชื่อที่สมพันธ์กบฐานข้ อมูล ซึ่งในที่น้ ีจะขอตั้งชื่อ


ว่า student จากนั้นกดปุ่ ม Select…
1

2

5. จะพบกับหน้ าต่าง Select DataBase ในส่วนของ Directories: ซ่ึงอยู่ตาแหน่งด้ านขวามือ ให้ เลือกไป
ยังตาแหน่งที่ฐานข้ อมูลจัดเก็บอยู่ในที่น้ ีคือ C:\database และช่องในด้ านซ้ ายมือ เมื่อพบกับฐานข้ อมูลให้ คลิกเพื่อ
เป็ นการเลือกฐานข้ อมูล จากนั้นคลิกที่ปุ่ม OK

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:159:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

1

3

2

6. จะกลับมายังหน้ าต่าง ODBC Microsoft Access Setup จากนั้นกดปุ่ ม OK อกครั้งจะพบกับรายการ

student ในหน้ าต่าง ODBC Data Source Administrator ดังภาพ จากนั้นคลิกปุ่ ม OK

1

2

ในเนื้อหาการเชื่อมต่อฐานข้ อมูลด้ วย ODBC น้ ีนักศึกษาสามารถใช้ ลักษณะการคล้ ายกันนี้กับฐานข้ อมูล
ชนิดอื่น แต่วิธการดาเนินการเพื่อขอติดต่อกับฐานข้ อมูลนั้นอาจจะแตกต่างกันไป


บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:160:

Mr.Anooruk Pomkotka LRU

การออกแบบและสร้างรายงานด้วย Crystal report เวอร์ชน 11
ั่
นักศึกษาสามารถดาวน์โหลดโปรแกรม Crystal report เวอร์ช่ัน 11 ซ่ึงเป็ นเวอร์ช่ันทดลองใช้ ได้ จาก http://www.businessobjects.com จากนั้นติดตั้งโปรแกรมให้ เสร็จสิ้น
การเชื่อมต่อฐานข้อมูล (ODBC) กบ Crystal Report

1. เปิ ดโปรแกรม Crystal report ในตาแหน่ง Start Menu > All Programs > BusinessObjects XI
Release 2 > Crystal Reports > จากนั้นคลิกเลือก Crystal Reports XI Release 2 ดังภาพ

2. จะพบหน้ าจอโปรแกรม Crystal Report จากนั้นเลือกเมนู File เลือกแถบ New แล้ วคลิกเลือก Blank
Report… ซ่ึงในการศึกษานี้ เราจะออกแบบรายงานด้ วยตัวเอง

3. จากนั้นโปรแกรมจะให้ เลือกฐานข้ อมูล ในหน้ าต่าง Standard Report Creation Wizard จากนั้นเลือก
รายการ Create New Connection แล้ วเลือกเครื่องหมายบวกในรายการย่อย ODBC(RDO) ซ่ึงการเลือกรายการ
นี้เนื่องจากเนื้อข้ างต้ นเราได้ สร้ างรายการเชื่อมต่อใน ODBC ช่ือว่า Student
บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:161:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

1

2

4. จากนั้นจะพบกับรายการที่ช่ ือว่า karaoke ในรายการการเชื่อมต่อแบบ ODBC คลิกเลือก student
แล้ วคลิกที่ปุ่ม Next

1

2

5. หากฐานข้ อมูล Access น้ันได้ กาหนดรหัสผ่านไว้ กสามารถป้ อนรหัสผ่านได้ จากนั้นคลิกที่ปุ่ม Finish


บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:162:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

6. จากนั้นในรายการ ODBC(RDO) จะพบกับรายการ (2) เชื่อมต่อคือ student ในเมื่อคลิกที่
เครื่องหมายบวก กจะพบกับรายการตารางในฐานข้ อมูล จากนั้น (3)เลือกตารางแล้ ว (4)คลิกปุ่ มเลือกตารางจะ

ไป (5)ปรากฏในด้ านขวามือ แล้ ว (6) คลิกที่ปุ่ม OK

4

1

5
2

3

6

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:163:

Mr.Anooruk Pomkotka LRU

7. เนื่องจากตารางในฐานข้ อมูล student ได้ ออกแบบให้ มีช่ือฟิ ลด์ท่มีความสัมพันธ์กันไว้ ดังนั้นเมื่อมาถึง

หน้ าต่าง Database Expert โปรแกรม Crystal Report จึงมีเส้ นการเชื่อมความสัมพันธ์ให้ อตโนมัติ โดยสามารถ

กาหนดโยงเส้ นความสัมพันธ์ได้ เอง ให้ เชื่อมเส้ นความสัมพันธ์ดังภาพ จากนั้นคลิกปุ่ ม OK

8. จะพบกับหน้ าจอหลักของโปรแกรมโปรดสังเกตแถบ Field Explorer ด้านขวามือเมื่อคลิกที
เครื่องหมายบวก (+) จะพบกับรายการเขตข้ อมูล (ฟิ ลด์) ดังภาพ

1
2
3

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:164:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

9. บันทึกไฟล์รายงาน โดยไปที่ เมนู File แล้ วเลือกคาสั่ง Save As… การบันทึกสามารถไว้ ตาแหน่งใดก็
ได้ ตามความเหมาะสมกับระบบที่พัฒนาอยู่ แต่ในที่น้ ีให้ บันทึกที่ตาแหน่ง C:\database โดยใช้ ช่ือรายงานคือ rptStudent.rtp หากเป็ นไฟล์รายงานควรจะตั้งชื่อคานาหน้ าไฟล์ว่า rtp ซ่ึงย่อมาจากคาว่า Report

ส่วนประกอบของโปรแกรม Crystal Report
สาหรับโปรแกรม Crystal Report น้ันถูกพั ฒนามาเพื่ อให้ รองรับกับรูปกา รแสดงผลของรายงานได้
หลากหลายรูปแบบ ดังนั้นจึงมีเครื่องมือและคาสั่งต่างๆ น้ันจะต้ องใช้ ความอดทน เพียรศึกษาทาความเข้ าใจการ
ออกแบบรายงานในรูปแบบต่างๆ ซ่ึงในเนื้ อหานี้ จะขอกล่ าวในส่วนประกอบที่จะต้ องได้ ใช้ ในการศึกษาเพี ยง
บางส่วน รายละเอียดของส่วนประกอบที่ไม่ได้ กล่าวนี้ สามารถศึกษาเพื่อเติมได้ จาก เอกสาร ตารา หรือหนังสืออื่น
ที่ว่าด้ วยเรื่องของการออกแบบรายงานด้ วย Crystal Report ท้งนี้ในเอกสารเล่มนี้กขอให้ ม่ันใจในระดับหนึ่งว่า ถ้า


หากปฏิบัติตาเอกสารฉบับนี้กจะสามารถทาให้ เข้ าใจพื้นฐานเพื่อต่อยอดไปยังการออกแบบรายงานขั้นสูงขึ้นได้

4
3
2
1

ส่วนที่ 1 ส่วนของการ Design เป็ นส่วนสาคัญของการออกแบบซึ่งจะแบบออกเป็ นแต่ละส่วนในการ
แสดงผลซึ่งสามารถนาวัตถุ (ออบเจ็กต์) มาจัดรูปแบบได้ ตามความเหมาะสม
1.1 Report Header ส่วนหัวรายงาน หากมีวัตถุในส่วนนี้จะแสดงผลหน้ าแรกของรายงาน
1.2 Page Header ส่วนหัวกระดาษ การรายงานข้ อมูลนั้นหากการแสดงผลไม่พอที่จะแสดงในหน้ า
เดียวได้ กจะมีหน้ าถัดไป ซึ่งส่วนของ Page Header หากนาวัตถุมาวางก็จะแสดงในส่วนหัวตารางของทุกหน้ า

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:165:

Mr.Anooruk Pomkotka LRU

1.3 Details ส่วนแสดงผลข้ อมูล ถือว่าเป็ นส่วนสาคัญในการแสดงผลข้ อมูล โดยจะแสดงแบบ
วนรอบตามข้ อมูลที่สอบถามได้ จากฐานข้ อมูล ตามเงื่อนไขที่ได้ ระบุไว้
1.4 Page Footer ส่วนท้ายกระดาษ การทางานจะลักษณะคล้ ายกับส่วน Page Header
1.5 Report Footer ส่วนท้ายรายงาน หากมีวัตถุในส่วนนี้จะแสดงผลท้ ายสุดของรายงาน
1.6 Group Header เป็ นส่วนพิเศษที่มีความต้ องการแสดงผลแบบเป็ นกลุ่มของข้ อมูล
ส่วนที่ 2 ส่วนของการ Field Explorer เป็ นส่วนของวัตถุหลักๆ ที่จะนาไปวางบนส่วนของการ Design
ซ่ึงจะประกอบด้ วยรายการเครื่องมือและคาสั่งหลั กๆที่การทา Report จะต้ องใช้ งานบ่อยๆ ซ่ึงจะขอกล่าวเพียง
บางส่วนเท่านั้น
1.1 DataBase Fileds เมื่อเชื่อมโยงกับตารางในฐานข้ อมูลได้ แล้ วในส่วนนี้จะแสดงรายการเขตข้ อมูล
หรือฟิ ลด์ท่อยู่ในตาราง ซึ่งสามารถลากไปวางตาแหน่ง Details ของส่วน Design ได้ ตามต้ องการซึ่งข้ อมูลจะแสดง

ตามความสัมพันธ์ของข้ อมูล
1.2 Formula Fields เมื่อต้ องการสร้ างสูตรจากการประมวลผลต่างๆ ได้ ซึ่งมีประโยชน์มากกับรา ยงานที่
จะต้ องประมวลผลก่อนการแสดงผล สามารถเขียนคาสั่งควบคุมจากภาษา Basic และภาษาอื่นที่ Crystal Report
เตรียมไว้ ให้ Formula Fields จึงเปรียบได้ กบฟั งก์ชันที่อยู่ใน Crystal Report น้ันเอง

1.3 Parameter Fields เราสามารถสร้ างพารามิเตอร์เพื่อรับค่าอาร์กวเมนต์ผ่านฟอร์มของ VB.NET เข้ า

มายังตัวรายงานได้ โดยการสร้ างพารามิเตอร์ ส่วนนี้ทาให้ การสร้ างรายงานมีความง่ายและยืดหยุ่นมาก
1.4 Running Total Fields เมื่อต้ องการค่าแบบสรุปของข้ อมูลในรายการสามารถสร้ างฟิ ลด์ชนิดนี้ได้ ซ่ึง
จะมีฟังก์ช่ันที่ Crystal report ได้ จัดเตรียมไว้ มากมายเช่นเดียวกับฟังก์ช่ันที่มีใน Microsoft Excel อาทิ Sum
Count Maximum Minimum Average เป็ นต้ น
1.5 Special Fields เป็ นฟังก์ช่ันหรือคาสั่งพื้นฐานที่สาคัญที่ Crystal Report ได้ จัดเตรียมไว้ ให้ นักพัฒนา
ตัวอย่างเช่น หมายเลขหน้ า(Page Number) วันที่พิมพ์รายงาน(Print Date) ลาดับข้ อมูล(Record Number )

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:166:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

การออกแบบรายงานด้วย Crystal Report
จากนี้จะได้ ออกแบบรายงานข้ อมูลนักเรียนซึ่งเป็ นภาคปฏิบัติท่จะต้ องทาความเข้ าใจกับวิธการและเทคนิค


ต่างๆ จะได้ กล่าวไว้ ในเนื้อหานี้ ก่อนที่จะออกแบบรายงานใน Crystal Report จาเป็ นอย่างยิ่งที่จะต้ องวางแผน
ออกแบบตัวรายงานไว้ ก่อนเพื่อความรวดเร็วในการสร้ าง ซึ่งสามารถออกแบบใน Ms-Word ก่อนก็ได้
ในรายงานตัว อย่ า งด้ า นล่ า งนี้ ผู้ สอนได้ ออกแบบการแสดงผลรายงาน อย่ า งง่ า ย โดย การควบคุ มการ
แสดงผลผ่าน VB.NET ซ่ึงในตัวอย่างนี้จะแสดงค่า รายชื่อของนักเรียนที่มีอกษร อ ขึ้นต้ นและสรุปรวมพร้ อมแยก

จานวนชาย หญิง ไว้ ท่ส่วนท้ ายรายงาย (Report Footer)


ในการที่จะทาความเข้ าใจกับเครื่องมือและคาสั่งของ Crystal Report อาจจะต้ องใช้ เวลาและประสบการณ์
ในการศึกษาบ้ าง หากนักศึกษาลองสังเกตและได้ ทาความเข้ าใจกับตัวอย่างนี้ ที่จะได้ นาเสนอนี้ คงเพียงพอใน
ระดับ หนึ่ งในการสร้ า งรายงาน เพื่ อ แสดงผลข้ อมู ลในลักษณะ ต่ า งๆ ดังนั้ นโปรด ฝึ กหั ดและสังเกตการใช้ งาน
เครื่องมือต่างๆ ไปพร้ อมกัน

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:167:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

1. ในแถบ Insert ให้ เลือกเครื่องมือ Text Object แล้ วนามาลากวางาบนส่วนของ Report
Header พร้ อมยืดออกให้ เต็มหน้ าจอในแนวนอน แล้ วพิมพ์ข้อความ “รายงานข้ อมูลนักเรียน ” ขนาด
ตัวอักษร 18 เป็ นตัวหนาและจัดกึ่งกลาง

2. ในแถบ Filed Explorer คลิกลากฟิ ลด์ std_id ไปวางในตาแหน่ง Design ส่วนของ Details โดยเว้ น
ช่องว่างด้ านหน้ าไว้ เพื่อจะได้ ใส่ลาดับที่ของข้ อมูลได้ โปรดสักเกตเมื่อวางฟิ ลด์เรียบร้ อยในส่วนของ Page Header
จะมีหัวตางรางให้ เลยอัตโนมัติ

1

3
2

4

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:168:

Mr.Anooruk Pomkotka LRU

2. ดับเบิลคลิกข้ อความหัวตารางของ std_id แล้ วเปลี่ยนเป็ นคาว่า รหัส กาหนดให้ เป็ นอักษรตัวหนา
และเอาขีดเส้ นใต้ ออก ดังภาพ

3. ทดสอบการแสดงผล (Preview) โดย ไปเลือกที่เมนู View แล้ วเลือก Print Preview หรือกดที่แท็บ
Preview ซ่ึงการแสดงผลจะแสดงผลดังภาพ เสร็จแล้ ว (2)ให้ คลิกที่แท็บ Design เพื่อกลับสู่การออกแบบ

1
2

1

4. กาหนดลาดับของข้ อมูล จากข้ อ 3 สังเกตกว่ามีการแสดงผลเฉพาะร หัสเท่านั้น การใส่ลาดับข้ อมูลจะ
เลือกกลุ่ม Special Fields ในส่วนของ Filed Explorer แล้ วจากนั้นเลือกรายการ Record Number นามาวางบน
ส่วนของ Details จากนั้นเปลี่ยนข้ อความตรงส่วนหัวตาราง เป็ นคาว่า ลาดับที่ เป็ นตัวหนาและเอาขีดเส้ นใต้ ออก
พร้ อมจัดตาแหน่งให้ สวยงาม ดังภาพ

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:169:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

4
3

1

2

5. ทดลองแสดงผล โดยกดที่แท็บ Previewและสังเกตการแสดงผล
6. ต่อไปจะเราจะสร้ างรายการ ชื่อ - สกลุ ซึ่งในส่วนนี้จะเป็ นการจัดรูปแบบการแสดงผลของฟิ ลด์ std_bname std_fname std_lname ซ่ึงแยกคนละฟิ ลด์มาอยู่ในฟิ ลด์เดียวกัน เช่น นายอนุรักษ์ พรมโคตรค้ า ซึ่ง
การกระทานี้จะต้ องสร้ าง Formula Fields ข้ นมาใหม่โดยตั้งชื่อคือ Fullname ซ่ึงมีข้ นตอนง่ายๆ ดังนี้


6.1 ในส่วนของ Field Explorer คลิกขวาที่รายการ Formala Fields แล้ วเลือกคาสั่ง New… ดังภาพ

1
2

6.2 จะพบกับหน้ าต่างให้ ป้อนชื่อฟิ ลด์ ในที่น้ ีให้ ต้ังชื่อคือ Fullname จากนั้นคลิกปุ่ ม OK ดังภาพ

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:170:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

6.3 จะพบกับหน้ าต่าง Formula Editor โดยสามารถป้ อนสคลิปคาสั่งซึ่งในที่น้ ีจะเป็ นการเชื่อมฟิ ลด์ท้ง 3

เพื่อแสดงผลข้ อมูลชื่อ คือ {Bname.bname_name} & {student.std_fname} & " " & {student.std_lname}
(2) ช่ ือฟิ ลด์ในฐานข้ อมูลจะอยู่ภายใต้ เครื่องหมายปี กกา โดยมีตัวดาเนินการ & เพื่อทาการเชื่อมฟิ ลด์เข้ า
ด้ วยกัน การนาฟิ ลด์มาวางบน Editor น้ันสามารถดับเบิลคลิกที่รายการฟิ ลด์ หรือจะพิมพ์ลงไปก็ได้

4
3

1
2

2

(3) เมื่อพิมพ์คาสั่งเสร็จแล้ ว Crystal Report จะมีเครื่องมือในกา รตรวจสอบคาสั่งโดยการคลิกที่ปุ่ม
เพื่อตรวจสอบความถูกต้ องหากมีกล่องข้ อความแสดงคาว่า No errors found. แสดงว่าสูตรที่เราป้ อนไปนั้น
ถูกต้ องสามารถใช้ งานได้
(4) จากนั้นคลิกที่ปุ่ม Save and close เพื่อปิ ดหน้ าต่าง
6.4 จากข้ อ 6.3 เมื่อปิ ดหน้ าต่างสังเกตที่ส่วน Field Explorer ในกลุ่มของ Formula Field จะพบกับ
รายการใหม่ท่ช่ ือว่า Fulllname จากนั้นลากมาวางในส่วนของ Details พร้ อมเปลี่ยนข้ อความหัวตาราง ให้ เป็ นคา

ว่า “ชื่อ – สกุล” เป็ นตัวหนา ไม่มีเส้ นใต้ พร้ อมปรับขนาดและจัดตาแหน่งให้ สวยงาม ดังภาพ
จากนั้นคลิกปุ่ ม Preview เพื่อทดสอบการแสดงผล

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:171:

Mr.Anooruk Pomkotka LRU

3
1

4

2

7. ฟิลด์ต่อไปคือ วัน เดือน ปี เกิดของนักเรียนลากฟิ ลด์ std_Bday มาวางส่วนของ Details ดังภาพ
จากนั้นแก้ ไขข้ อความหัวตารางเป็ นคาว่า “ว.ด.ป. เกิด” เป็ นตัวหนา ไม่ขีดเส้ นใต้ พร้ อมปรับขนาดและจัด
ตาแหน่งให้ สวยงาม

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:172:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

8. แต่เนื่องจากในฟิ ลด์น้ ีจะเก็บข้ อมูลเป็ น Date และ Time เมื่อแสดงผลก็จะมีเวลามาด้ วยซึ่งการ
แสดงผลในรายงานนี้ต้องการเพียงข้ อมูล วัน เดือน ปี เกิดของนักเรียน ดังนั้นจึงต้ องปรับแต่งการแสดงผลคลิก
ขวาที่ฟิลด์ std_Bday จากนั้นเลือกคาสั่ง Format Field…

2

1

9. ในหน้ าต่าง Format Editor ให้ เลือกเป็ นแบบ 1-Mar-1999 ซ่ึงจะมีตัวอย่างในช่อง Sample: หรือ
หากต้ องการกาหนดรูปแบบเองก็คลิกที่ปุ่ม Customize… จากนั้นคลิกที่ปุ่ม OK

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:173:

Mr.Anooruk Pomkotka LRU

10. เมื่อทดสอบการแสดงผลจะมีรูปแบบ ดังภาพ

11. นาฟิ ลด์ std_Age มาวางส่วนของ Details พร้ อมเปลี่ยนข้ อความเป็ นคาว่า “อายุ” ให้ เป็ นตัวหนาไม่
ขีดเส้ นใต้ พร้ อมปรับขนาดและตาแหน่งให้ สวยงาม

3
1

2

12. นาฟิ ลด์ color_name ซ่ึงจะอยู่ท่ตาราง Color มาวางส่วนของ Details พร้ อมเปลี่ยนข้ อความเป็ นคา

ว่า “สีท่ชอบ” ให้ เป็ นตัวหนาไม่ขีดเส้ นใต้ พร้ อมปรับขนาดและตาแหน่งให้ สวยงาม


3

1

2

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:174:

Mr.Anooruk Pomkotka LRU

13. นาฟิ ลด์ pro_name ซ่ึงจะอยู่ท่ตาราง program มาวางส่วนของ Details พร้ อมเปลี่ยนข้ อความเป็ นคา

ว่า “สาขาวิชา” ให้ เป็ นตัวหนาไม่ขีดเส้ นใต้ พร้ อมปรับขนาดและตาแหน่งให้ สวยงาม

3
1

2

14. จากนั้นทาการ Preview เราสามารถดูหน้ าถัดไปได้ จากปุ่ ม Show Next Page

1

15. จากการแสดงผลในข้ อ 6.11 ยังขาดการใส่เส้ นขั้นหรือช่องตาราง การใส่ตารางของ Crystal Report
จะไม่เหมือนกับ Ms-Word เพราะจะต้ องวางเส้ นแต่ละเส้ นเอง ซ่ึงมีข้นตอนดังนี้

เลือกเครื่องมือ Insert Box มาลากตั้งแต่ส่วนของ Page Harder ไปจนถึงส่วนบนของ Report Footer
เพียงเล็กน้ อย ดังภาพ

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:175:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

1

2

16. และเมื่อคลิกปุ่ ม Preview จะแสดงผล ดังภาพ

17. จากนั้นทาเส้ นขั้นบริเวณหัวตารางโดยการคลิกเลือกที่เครื่องมือ Insert Line จากนั้นนามาลากและ
วางบนส่วนท้ายของ Page Harder ดังภาพ
1

3

2

18. และเมื่อคลิกปุ่ ม Preview จะแสดงผล ดังภาพ

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:176:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

3

19. จากนั้นทาเส้ นขั้นบริเวณรายการข้ อมูลในแนวนอน โดยการคลิกเลือกที่เครื่องมือ Insert Line
จากนั้นนามาลากและวางบนส่วนท้ายของ Details ดังภาพ
1

2

3

20. และเมื่อคลิกปุ่ ม Preview จะแสดงผล ดังภาพ

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:177:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

21. จากนั้นทาเส้ นขั้นระหว่างฟิ ลด์ บริเวณรายการข้ อมูลในแนวตั้ง โดยการคลิกเลือกที่เครื่องมือ Insert
Line จากนั้นนามาลากและวางบนส่วนท้ายของ Details ดังภาพ
1

2

3

22. และเมื่อคลิกปุ่ ม Preview จะแสดงผล ดังภาพ

หากยังไม่พอใจในรูปแบบของเส้ นตารางเนื่องจากข้ อความอาจจะชิดขอบของเส้ นในตารางจนเกินไป
เนื่องจากคุณสมบัติแบบ Snap to grid ของ Crystal Report กสามารถยกเลิกคุณสมบัติน้ ีได้ เพื่อให้ การจัดวางมี

ความเป็ นอิสระมากยิ่งขึ้น
โดยการคลิกที่เมนู File จากนั้นเลือกรายการ Option… จะพบกับหน้ าต่างแล้ วเลือกเครื่องหมายถูกตรง
Snap to grid ออก แล้ วคลิกที่ปุ่ม OK จากนั้นทดสอบเลือนวัตถุบนฟอร์มจะเห็นว่า เส้ นหรือฟิ ลด์ไม่กระโดด
1

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:178:

Mr.Anooruk Pomkotka LRU

23. ส่วนถัดมาคือการทาสรุปรวมค่าต่างๆ จากรายการข้ อมูลที่มี จะขอยกตัวอย่างผลการสรุปของการ
ค้ นหาในแต่ละครั้ง คือ จานวนเพศชาย จานวนเพศหญิง และรวมทั้งหมด ซ่ึงมีข้ันตอนที่จะต้ องทาความเข้ าใจ ซึ่ง
จะเป็ นประโยชน์มากในการทารายงานแบบสรุปผล
พิจารณาตาราง Bname ในฐานข้ อมูล MS-Access ในส่วนของฟิ ลด์ bname_sex สถานะของเพศชายคือ
เลข 0 และสถานะของเพศหญิงคือ 1

1
2

ดังนั้นเราต้ องเขียนคาสั่งเพื่อตรวจสอบเงื่อนไข โดยการใช้ Formula Field จานวน 2 ฟิลด์คือ sumMan
และ sumWoman ดังนี้
สร้างฟิ ลด์ sumMan
(1) คลิกขวาที่รายการ Formula Fields จากนั้นเลือกคาสั่ง New…

(2) ป้อนชื่อฟิ ลด์ลงไปที่ช่อง Name จากนั้นคลิกที่ปุ่ม OK

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:179:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

(3) จะพบกับหน้ าต่าง Formula Editor จากนั้นก็พิมพ์คาสั่งในช่องสูตร โดยจะใช้ คาสั่งควบคุมคือ
ถ้าหากฟิ ลด์ bname_sex มีค่าเท่ากับ 0 กให้ แสดงค่า 1 ออกมา

if {Bname.bname_sex}="0" then 1
จากนั้นคลิกปุ่ ม
เพื่ อตรวจสอบความถูกต้ องหากมีกล่องข้ อความแสดงคาว่า No errors found.
แสดงว่าสูตรที่เราป้ อนไปนั้นถูกต้ องสามารถใช้ งานได้ จากนั้นคลิกที่ปุ่ม Save and close เพื่อปิ ดหน้ าต่าง

4
1
3

2

(4) จากนั้นลากฟิ ลด์ sumMan มาวางในส่วนของ PageFooter

3

4

1

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

2

:180:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

สร้างฟิ ลด์ sumWoman
(1) คลิกขวาที่รายการ Formula Fields จากนั้นเลือกคาสั่ง New…

(2) ป้อนชื่อฟิ ลด์ลงไปที่ช่อง Name จากนั้นคลิกที่ปุ่ม OK

(3) จะพบกับหน้ าต่าง Formula Editor จากนั้นก็พิมพ์คาสั่งในช่องสูตร ซ่ึงจะใช้ คาสั่งควบคุมคือ ถ้ า
หากฟิ ลด์ bname_sex มีค่าเท่ากับ 0 กให้ แสดงค่า 1 ออกมา

if {Bname.bname_sex}="0" then 1
จากนั้นคลิกปุ่ ม
เพื่อตรวจสอบความถูกต้ องหากมีกล่องข้ อความแสดงคาว่า No errors found.
แสดงว่าสูตรที่ป้อนไปนั้นถูกต้ องสามารถใช้ งานได้ จากนั้นคลิกที่ปุ่ม Save and close เพื่อปิ ดหน้ าต่าง

4

3

1

2

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:181:

Mr.Anooruk Pomkotka LRU

(4) จากนั้นลากฟิ ลด์ sumMan มาวางในส่วนของ PageFooter

1

4

3

2

24. สร้ างผลรวมของเพศชาย โดยการคลิกขวาที่ฟิลด์ sumMan จากนั้นเลื่อนไปที่แถบ Insert แล้ ว
เลือกคาสั่ง Summary…

25. จะพบกับหน้ าต่าง Insert Summary เลือกวิธการคานวณในที่น้ ีจะต้ องการรวมค่าจึงเลือกเป็ น Sum

แล้ วคลิกที่ปุ่ม OK

1

1

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:182:

Mr.Anooruk Pomkotka LRU

ในส่วนวิธการคานวณสามารถเลือกวิธการคานวณด้ วยฟั งก์ช่ันต่างๆ ที่ Crystal Report มีมาให้


เช่นเดียวกันกับฟังก์ช่ันใน Ms Excel ดังภาพ

26. จากนั้นจะพบกับวัตถุหรือฟิ ลด์ท่เกิดขึ้นใหม่เพื่อทาหน้ าที่ในการรวมค่าตัวเลขที่อยู่ในฟิ ลพ์ sumMan


27. สร้ างผลรวมของเพศหญิง โดยการคลิกขวาที่ฟิลด์ sumMan จากนั้นเลื่อนไปที่แถบ Insert แล้ ว
เลือกคาสั่ง Summary…

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:183:

Mr.Anooruk Pomkotka LRU

28. จะพบกับหน้ าต่าง Insert Summary เลือกวิธการคานวณในที่น้ ีเราต้ องการรวมค่าจึงเลือกเป็ น Sum

แล้ วคลิกที่ปุ่ม OK

2

1

26. จากนั้นจะพบกับวัตถุหรือฟิ ลด์ท่เกิดขึ้นใหม่เพื่อทาหน้ าที่ในการรวมค่าตัวเลขที่อยู่ในฟิ ลด์

sumWoman

1

27. แสดงผลโดยการคลิกที่ปุ่ม Preview แล้ วเลื่อนไปยังตาแหน่งหน้ าสุดท้ายของรายงานโดยการ คลิกที่
ปุ่ ม Show Last Page จะพบกับข้ อมูลสรูปรวมเพศชายและเพศหญิง ดังภาพ

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:184:

Mr.Anooruk Pomkotka LRU

1

โปรดสังเกตค่าตัวเลขซึ่งจะมีค่าปริยายแบบทศนิยม คือ 615.00 และ 714.00 ซ่ึงหาไม่ต้องการแสดงค่า
ทศนิยม กสามารถปรับลดหรือปรับเพิ่มได้ ตามต้ องการ โดยการคลิกที่ปุ่ม ดังภาพ


28. ปรับขนาดและนา Text Object มาวางพร้ อมพิมพ์ข้อความ “จานวนเพศชาย” และ “จานวนเพศ
หญิง” ดังภาพ

1

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:185:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

29. สดท้ายของส่วนสรุปผลคือ การสรุปรวมทั้งหมดซึ่งสามารถทาได้ หลา ยวิธี แต่วิธการที่จะนาเสนอ คือ


เป็ นการนับจานวนระเบียนทั้งหมด วิธการนับนั้นจะนับจากฟิ ลด์ใดในฐานข้ อ มูลที่แสดงผลอยู่กได้ ซึ่งจะนับจานวน


ทั้งหมดจาก ฟิ ลด์รหัสนักเรียน ด้ วยวิธการดังนี้

(1) คลิกขวาที่ฟิลด์ std_id ในส่วนของ Details จากนั้นเลื่อนไปที่แถบ Insert แล้ วคลิก Summary

(2) จากนั้นในช่อง Calculate this summary: ให้ เป็ นรายการ Count แล้ วคลิกที่ปุ่ม OK

2

1

(3) จะพบกับฟิ ลด์ใหม่ท่ปรากฏขึ้นมา


1

(4) จัดรูปแบบโดยการปรับขนาดและตาแหน่ง โดยการนา Text Object มาวางพร้ อมพิมพ์ข้อความ
“รวมทั้งสิ้น” ดังภาพ
บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Object Oriented Programming for VB.NET

:186:

Mr.Anooruk Pomkotka LRU

1

30. มาถึงจุ ดนี้การออกแบบรายงานตามต้ นแบบก็จะถึงขั้นตอนสุดท้ ายแล้ วค่าสร้ าง พารามิเตอร์ให้
สามารถส่งผ่านค่าจาก VB.NET มายัง Crystal Report โดยจะแสดงผลตามเงื่อนไขการควบคุมของรายงาน เช่น
ค้นหารายชื่อนักเรียนที่ข้ ึนต้ นด้ วยอักษร อ
(1) ในส่วนของ Field Explorer คลิกขวาที่รายการที่ช่ ือว่า Parameter Fields แล้ วคลิกคาสั่ง New…

1

(2) ป้อนชื่อในช่อง Name: คือ title จากนั้นคลิกที่ปุ่ม OK

(3) จะพบกับรายการพารามิเตอร์ท่เพิ่มเข้ ามาคือ title ดังภาพ

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

:187:

Object Oriented Programming for VB.NET

Mr.Anooruk Pomkotka LRU

1

(4) จากนั้นคลิกลากมาวางส่วนของ Report Header พร้ อมปรับขนาดและตาแหน่ง โดยกาหนดเป็ น
รูปแบบตัวอักษร Cordia New ตัวหนา ขนาดตัวอักษร 18 จัดกึ่งกลางหน้ าจอ ดังภาพ

2

1

ขณะนี้การจัดออกแบบรายงานได้ เสร็จสมบูรณ์แล้ ว รูปแบบและวิธีการที่ได้ ยกตัวอย่างไปนั้นคงเพียงพอ
สาหรับการออกแบบรายงานแบบพื้นฐานทั่วไป ได้ ซ่ึงเนื้อหาในบทนี้ยังเหลือการทารายงานรูปแบบอื่นซึ่งนักศึกษา
จะต้ องพยายามฝึ กฝน หมั่นสังเกตแล้ วนาไปทดลองเพื่อให้ เกิดประสบการณ์และความเข้ าใจ
ในส่วนเนื้อหาที่ยังไม่ได้ ยกตัวอย่างในเนื้อหาส่วนนี้ เข่น
-

การจัดกลุ่มข้ อมูลด้ วย Group by
การสร้ างรายงานแบบแถบบาร์โค้ ดหรือป้ ายประกาศ(Label)
รายงานแบบมีรายงานย่อยซ้ อนกัน
การสร้ างซองจดหมาย
และอื่นลักษณะอื่นอีกมากมาย

บทที่ 7 การเพิ่มประสิทธิภาพการเขียนชุดคาสั่งใน VB.NET

Similar Documents