หากเราคิดถึงเครื่องมืออำนวยความสะดวกในการจัดทำ Report แล้ว คงไม่มีใครไม่รู้จัก Crystal Report เนื่องจากว่า Crystal Report นั้น เป็นเทคโนโลยีในการจัดทำ Report ที่มีความยืดหยุ่น และสามารถตอบสนอง ความต้องการในการพัฒนา Report ได้เป็นอย่างดี และได้รับการยอมรับจากนักพัฒนาโปรแกรมเป็นจำนวนมาก เนื่องจากมีรูปแบบต่างๆ ให้เลือกมากกว่า 100 แบบ นอกจากนั้นยังมีความสามารถพิเศษต่างๆ มากมาย ไม่ว่าจะเป็นการแจ้งเตือนต่างๆ การกำหนดพารามิเตอร์ต่างๆ การทำแผนภูมิ แผนที่ cross-tabs ฯลฯ เพื่อความโดดเด่นใน Report ของคุณ
สื่อการสอนชุด “CRYSTAL REPORTS พร้อม CD-Rom 5 แผ่น” ที่ทางบริษัทเอ็มไอเอส ซอฟท์เทค จำกัด ร่วมกับ อ.ธงชัย พยุงภร ผลิตออกมานี้ เหมาะ สำหรับนักพัฒนาทุกระดับ ตั้งแต่ระดับเบื้องต้นไป จนถึงระดับมืออาชีพ เนื่องจากมีเนื้อหาที่เจาะลึกอย่างละเอียด ซึ่งเป็นอีกหนึ่งความภูมิใจ ที่ทีมงานของเราพร้อม ที่จะนำเสนอให้กับท่านได้มีเก็บเอาไว้เพื่อใช้ในการศึกษา ของคุณต่อไปได้เป็นอย่างดี
เนื้อหาภายใน:
• การออกแบบรายงานใน Crystal Reports ตั้งแต่ขั้นต้นจนถึงขั้นสูง • การใช้ Formulas และ Parameter Fields แบบต่าง ๆ ใน Crystal Reports • การเรียก Crystal Reports จาก VB.NET • การส่ง DataTables เข้าไปใน Reports • การสร้างกราฟ และจัดการกับ SubReports • การสร้างและการจัดการ CrossTab Reports • การสร้าง User-Defined Functions ใน ActiveX เพื่อใช้ใน Reports
เนื้อหาในซีดีแผ่นที่ 1 1. บทนำ และการติดตั้งโปรแกรมก่อนการเรียน - บทนำ และแนะนำตัว - ลำดับและขั้นตอนในการติดตั้งโปรแกรม ได้แก่ * Intenet Information Services * Visual Studio.NET 2005 พร้อม Crystal Reports
2. เริ่มต้นสร้าง Project แบบ Crystal Report Application - สร้าง Project ใหม่ใน Visual Studio.NET 2005 - ขั้นตอนการสร้าง Project ใหม่แบบ Crystal Report Application
3. โครงสร้างของ Project ใน Crystal Reports และ Tools ในการพัฒนา - Environments และองค์ประกอบต่าง ๆ ในการพัฒนา - Tools ของ Crystal Reports - References ของ Project ที่ใช้ในการพัฒนา Crystal Report
4. ลำดับขั้นตอนในการเลือกฐานข้อมูลเพื่อออกแบบ Report และ Field Explorer - ขั้นตอนการติดต่อฐานข้อมูลเพื่อสร้าง Report - ลำดับการเลือกเพื่อติดต่อฐานข้อมูล Microsoft Access - Field Explorer ใน Crystal Reports - ข้อแตกต่างระหว่าง Visual Studio.NET 2003 และ 2005
5. โครงสร้างของ Report, Format Object ของจำนวนเงิน และ ทดสอบ Preview - โครงสร้างของ Report : Report Header/Report Footer, Page Header/ Page Footer และ Detail - ลาก Fields ต่าง ๆ มาใส่ใน Report - ปรับจำนวนทศนิยมของจำนวนเงิน โดยเข้าสู่ Format Object - ทดสอบรายงานโดยการการ Preview และทดลองจาก Window Form - การแสดงและไม่แสดง Group Tree
6. การเปลี่ยน Font, สี และการสร้างกรอบให้กับ Objects - การเปลี่ยน Font ให้กับ Objects หลาย ๆ ตัว - การเลือกหลาย Objects พร้อมกัน - ปรับสีสัน และสร้างกรอบให้กับ Object - Border แต่ละด้านของ Object และสีของกรอบ - การเลื่อนทีละเล็กน้อย โดยไม่ต้องเลือก Snap to Grid ในส่วนของ Default Settings... ของ Report Design
7. การกำหนด Can Grow เพื่อให้ขยายบรรทัดเมื่อมีข้อมูลยาว ๆ - การแก้ปัญหาเมื่อมีข้อมูลยาว ๆ - การปรับที่ Can Grow และจำนวนแถวของข้อมูลที่ยาว ๆ
8. การใส่ Formula ให้สีของตัวอักษรแตกต่างกันตามเงื่อนไข และการอ้างค่า Field - การสร้าง Formula ใน Crystal Reports - โครงสร้าง และ Panes ต่าง ๆ ของ Formula Editor {Table.Field} - การใช้ IF … Then … Else ใน Formula - Color Constants ใน Formula - การตรวจสอบสูตรที่สร้างขึ้นว่าถูกต้องหรือไม่
9. การใส่ Formula เพื่อเปลี่ยนสี Background Color ให้แถวคู่ 1 สี และแถวคี่อีก 1 สี และการอ้าง RecordNumber - การเปลี่ยนสีให้แถวคู่และแถวคี่เป็นคนละสี ในส่วนของ Background Color - การอ้าง RecordNumber และการตรวจสอบแถวคู่หรือแถวคี่โดยใช้ Remainder - การตรวจสอบว่ามี Formula อะไรบ้างใน Object ตัวนั้น - Box Object ไม่สามารถใส่ Formula ได้
10. การสลับสีของข้อมูลแต่ละ Record โดยกำหนดที่ Color Tab ของ Section Detail - เข้าสู่ในส่วนของ Section Expert - การสลับสีของ Record แต่ละแถว โดยเขียนสูตรที่ Section Detail - Color(red,green,blue)
11. การสร้าง Formula ที่เกิดจาก Fields มาคำนวณ และการใช้ Crystal Syntax และ Basic Syntax - การเข้าสู่ Field Explorer - การ Comment ใน Editor ของ Formula - สร้าง Formula เพื่อคำนวณ Amount ที่เกิดจาก Field UnitPrice * UnitsInstock - สร้างสูตรคำนวณ VAT โดยใช้สูตร Basic Syntax - Basic Syntax ต้องมี Formula = - การสลับไปมาระหว่าง Use Expert และ Use Editor ของ Formula
12. การเปลี่ยนสีตัวอักษร เมื่อขึ้นต้นด้วยตัวอักษรที่ต้องการ โดยใช้เครื่องหมายวงเล็บก้ามปู และการใช้ Like - การตัด String ตัวอักษรโดยใช้วงเล็บก้ามปู - การปรับสีตัวอักษร โดยตรวจสอบข้อมูลโดยใช้ Like
13. การใช้ Range ใน Formula เพื่อตรวจสอบข้อมูลเป็นช่วง และการใช้ to _to - การเขียน Formula โดยใช้ Range เพื่อตรวจสอบข้อมูลเป็นช่วง - การใช้ to และ _to เช่น "A" to ""E"" หรือ ""A"" _to ""E"" เพื่อให้รวมค่า A หรือไม่" 14. การใช้ Select Case … Default เพื่อเปลี่ยนสีของราคาสินค้าตามช่วงราคาต่าง ๆ และการใช้ DefaultAttribute - ทวนการใช้ Range อีกครั้ง เกี่ยวกับ to, _to_ , _to หรือ to_ - การใช้ Select Case… Default ใน Formula - การใช้ Is ใน Case - ความหมายของ DefaultAttribute - ตรวจสอบข้อมูลว่าได้ผลตามที่ต้องการตามช่วงราคาหรือไม่
15. การเรียงข้อมูลใน Report และการ Filter ข้อมูลโดยใช้ Record Selection Formula - การเรียงข้อมูลตาม Field หรือตาม Formula ที่สร้างขึ้น : Record Sort Expert - การ Filter (กรอง) ข้อมูลตามเงื่อนไข โดยใช้ Record Selection Formula
16. Special Fields ที่น่าสนใจของ Crystal Reports : RecordNumber, Page N of M และ PrintDate - ศึกษาเกี่ยวกับ Special Fields ใน Crystal Reports - RecordNumber - การ Refresh ข้อมูลใหม่ - Page N of M และ Performance ของ Reports - Print Date วันที่พิมพ์รายงาน - การจัดรูปแบบวันที่ใน Report
17. การหาค่า Summary (Grand Total) เพื่อใส่ใน Report Footer - การสรุปผลข้อมูล โดยการ Insert Summary เพื่อหาค่า Grand Total - หาค่า Sum Grand Total ของ UnitsinStock - หาค่า Sum Grand Total ของ Amount ซึ่งเป็น Formula ที่สร้างขึ้น - ค่า Grand Total จะอยู่ในส่วนของ Report Footer - การสร้าง Box เพื่อตกแต่ง Report และการสร้าง Drop Shadow
18. ตกแต่งส่วน Summary และการทำให้ข้อความอยู่ในแนวตั้ง และการปรับให้ส่วนสรุปผลอยู่ที่ด้านล่างของหน้า - ตกแต่งในส่วนของ Report Footer - การปรับ Text Object ให้อยู่ในแนวตั้ง - การกำหนดให้ Report Footer อยู่ที่ด้านล่างของหน้าสุดท้าย
19. การใช้ตัวแปร, ระดับตัวแปรใน Formula และการคำนวณค่าสะสมใน Report - การคำนวณค่าสะสม - การประกาศตัวแปรใน Formula - ระดับของตัวแปร Local, Global, Shared และข้อแตกต่าง - การคั่นแต่ละ Statement ใน Formula ด้วย ; - การกำหนดค่าให้กับตัวแปร - ตรวจสอบค่าสะสมค่าว่าถูกต้องหรือไม่
20. การคำนวณค่าสะสม และ Reset ค่าใหม่เมื่อมีการขึ้นหน้าใหม่ และการใช้ Suppress เพื่อซ่อน Object - การหาค่าสะสม แต่ให้ Reset ค่าใหม่เมื่อขึ้นหน้าใหม่ - ข้อแตกต่างระหว่างการใช้ Shared และ Global - ตำแหน่งในการวาง Formula เพื่อ Reset ค่าตัวแปร - การซ่อน Object โดยการใช้ Suppress
21. การหาค่า Page Total โดยประยุกต์จากการใช้ตัวแปร - การคำนวณค่า Page Total - ประยุกต์จากการหาค่าสะสม - การสร้างเส้น เพื่อตกแต่ง Report และการปรับความหนาของเส้น
22. การใช้ฟังก์ชัน Sum เพื่อแสดงไว้ใน Report Header - ออกแบบ Report ใหม่ - การใช้ฟังก์ชัน Sum ใน Formula เพื่อแสดงไว้ในส่วนของ Report Header - นำค่า Sum มาเก็บในตัวแปร
23. การคำนวณเป็น Percent ในแต่ละ Record เมื่อเทียบกับทั้งหมด โดยใช้ Formula มาช่วย - การคำนวณ Percent ของจำนวนสินค้า เมื่อเทียบกับทั้งหมด - เทียบเปอร์เซนต์โดยใช้ค่า Formula ที่หาค่า Sum มาใช้
24. Grouping ข้อมูลตามอักษรตัวแรก และรูปแบบ Group Header และ Group Footer - การ Grouping ข้อมูล โดย Group ตามตัวอักษร - การ Insert Group จะมีการจัดเรียงข้อมูลให้อัตโนมัติ - สามารถ Group ตาม Formula ที่สร้างขึ้นได้ - ส่วนประกอบของ Group ได้แก่ Group Header และ Group Footer - ส่วนของ Display Group Tree ในส่วนของ Preview - ปรับ Sort เพิ่มเติม ให้เรียงตามตัวอักษรตัวแรก และเรียงตามข้อมูลสินค้า
25. การจัด Group โดยไม่สร้าง Group Section แต่ใช้ Suppress If Duplicate - การจัด Group อีกแบบ โดยใช้การเรียงข้อมูล และ Suppress If Duplicate - การใช้ฟังก์ชัน Left เพื่อตัด String เฉพาะตัวอักษรแรก
26. การคำนวณ Group Total (การสรุปผลในแต่ละ Group) และการกำหนดให้ขึ้นหน้าใหม่เมื่อขึ้น Group ใหม่ - ข้อแตกต่างระหว่าง Group และการใช้ Suppress If Duplicate - การสรุปผลในแต่ละ Group - การกำหนดให้ขึ้นหน้าใหม่ เมื่อขึ้น Group ใหม่ - การกำหนด Properties ในส่วนของ Section Expert ของ : New Page After และ Suppress Blank Section
27. แก้ปัญหาหน้าสุดท้ายที่เป็นกระดาษเปล่า ที่เป็นผลมาจาก New Page After ของ Group Footer Section - การตรวจสอบ Record ถัดไปว่าหมดหรือยัง ใช้ NextIsNull - ใส่สูตรที่ New Page After ของ Group Footer Section - แก้ปัญหาที่หน้าสุดท้ายที่เป็นกระดาษเปล่า
28. ความหมายของ Underlay Following Section ของ Group Header Section - ทำความเข้าใจกับ Underlay Following Section ของ Group Header - ทำให้สามารถดึงข้อมูลในส่วน Detail มาอยู่ในส่วนของ Group Header ได้
29. การ Run Group Number และ Record Number - การ Run Group Number และปรับตัวอักษรให้อยู่ในแนวตั้ง โดยปรับที่ Text Rotation - ปรับ New Page After ที่ Group Footer ให้ Check ออก เพื่อปรับให้ทุกกลุ่มอยู่ในหน้าเดียวกัน - การ Run Record Number
30. การแก้ป้ญหาให้ Record Number เริ่มนับ 1 ใหม่เมื่อขึ้นกลุ่มใหม่ - การปรับให้ Record Number เริ่ม Run ที่ 1 ใหม่เมื่อขึ้นกลุ่มใหม่ - ใช้ตัวแปรเพื่อควบคุม RecordNumber แทน - Formula ตัวที่ 1 เอาไว้ในส่วนของ Group Header เพื่อเปลี่ยนค่าตัวแปรให้เป็น 0 ส่วน Formula อีกตัวไว้ในส่วน Detail เพื่อบวกค่าตัวแปรเพิ่มขึ้น 1
31. Options ของ Group Header Sections และการกำหนดให้ข้อมูลของ Group เรียงจากมากไปน้อย - Options ของ Group Header Sections - เปลี่ยนให้ข้อมูลของ Group เรียงจากมากไปน้อย - ความหมายของ Repeat Group Header on Each Page
32. การจำกัดจำนวน Records ที่ต้องการพิมพ์ใน 1 หน้า ตามรูปแบบของ Pre-Printed Form - ออกแบบ Report ใหม่ - การจำกัดจำนวน Records ที่ต้องการพิมพ์ใน 1 หน้า - หลักการออกแบบสำหรับ Pre-Printed Form - ข้อจำกัดของวิธีนี้
33. การจำกัดจำนวน Records ที่ต้องการพิมพ์ในแต่ละหน้า โดยใช้ตัวแปร (แบบที่ 2) - การจำกัดจำนวน Records ให้ 1 หน้ามี 10 Records - ใช้ตัวแปรในการควบคุมจำนวน Records ต่อหน้า - ใช้ Function Remainder ควบคุมให้ขึ้นหน้าใหม่ - ปรับสูตรให้ขึ้นหน้าใหม่ในส่วนของ Details โดยเขียนสูตรที่ New Page After ของ Details
34. การเน้นข้อมูลที่ต้องสั่งซื้อสินค้า เมื่อมีจำนวนสินค้าต่ำกว่า จำนวนสินค้าที่ต้องสั่ง โดยใช้ CheckBox - ใช้ CheckBox เน้นข้อมูลสินค้าที่ต้องสั่งซื้อ เมื่อมีจำนวนน้อยกว่าที่ต้องสั่ง - ใช้ Font Windings เพื่อแสดงข้อมูลที่เป็น CheckBox - เน้นข้อมูลทั้งแถวให้เป็นสีเหลือง โดยกำหนดสีในส่วนของ Detail Section แล้วใส่เงื่อนไขในสูตร
35. การสร้าง Grouping กับ Report ที่มีมากกว่า 1 Tables และรายงานที่เป็นภาพที่เก็บในฐานข้อมูล - จัดการกับ Reports ที่มีมากกว่า 1 Tables - การ Join ระหว่าง Tables - สร้าง Group ให้กับข้อมูลกลุ่มสินค้า - แสดงภาพที่มาจาก Field OLEObject ที่เก็บภาพในฐานข้อมูล - การจัดการภาพที่แตกต่างกันระหว่าง Crystal Report.NET กับ Crystal Report Version XI - การทำ Underlay Following Section เพื่อดึงข้อมูลสินค้ามาอยู่ในส่วนของกลุ่มของสินค้า - การสร้าง Box และ Line เพื่อตกแต่ง Report ให้สวยงาม ซึ่งสามารถข้าม Section ได้
36. การแก้ปัญหาไม่ให้ข้อมูลทับกันที่เกิดจากการทำ Underlay Following Section โดยสร้าง Section ของ Group อีก 1 แถบ - การแก้ปัญหาที่มีข้อมูลทับกันในส่วนของ Group Header กับ Detail ที่เกิดจากการใช้ Underlay Following Section - การสร้าง Group Header อีก 1 แถบ - เหตุผลของการสร้าง Group Header 2 Sections
เนื้อหาในซีดีแผ่นที่ 2 1. เตรียม SQL Server เพื่อเป็นฐานข้อมูลในการสร้าง Crystal Report จาก SQL Server - เตรียมฐานข้อมูล SQL Server - SQL Server Express และ SQL Server 2000 - การติดตั้งในลักษณะ Instance และการอ้างถึง Instance ของ SQL Server - การติดตั้ง Visual Studio.NET จะมีการติดตั้ง SQL Express - การติดตั้ง SQL 2000 บน Windows XP จะต้องหาชุด Developer Edition มาทดสอบ
2. Attach Databases Pubs และ Northwind สำหรับเครื่องที่ไม่มี 2 Databases นี้ใน SQL Server - เตรียม Databases Pubs และ NorthWind โดยการ Attach Databases เข้าไปใน SQL Server - 2 Databases นี้อยู่ใน CD-ROM ภายใต้ Directory Samples\SQL2000 Databases - ขั้นตอนการ Attach ฐานข้อมูลเข้า SQL Server
3. เครื่องที่มีเฉพาะ SQL Server Express ให้ติดตั้ง SQL Management Studio Express - เครื่องที่มีเฉพาะ SQL Server Express ให้ติดตั้ง SQL Management Studio Express อยู่ใน Folder ของ Samples\SQL Management Studio Express ของ CD-ROM - การติดต่อ SQL Server Express จะต้อง Logon ใน Mode Windows Authentication
4. สร้าง Project ใหม่ใน Microsoft Visual Studio.NET แบบ Windows Application - สร้าง Project ใหม่แบบ Windows Application - สร้าง Crystal Report ใหม่ เพื่อเตรียมสำหรับการติดต่อกับฐานข้อมูลใน SQL Server
5. สร้าง Report เพื่อติดต่อกับฐานข้อมูลใน SQL Server และออกแบบ Crystal Report Viewer บน Formไม่ให้เต็มพื้นที่ - สร้าง Report โดยติดต่อกับ SQL Server 2000 โดยใช้ Microsoft OLEDB Provider for SQL Server - ใส่ Connection String ต่าง ๆ ให้ถูกต้อง - ถ้าเป็น Windows Authentication ให้เลือก Integrated Security - ออกแบบ Crystal Report Viewer บน Formไม่ให้เต็มพื้นที่ โดยปรับ Docking ให้เป็น Left - ตรวจสอบ References ที่เกี่ยวกับ Crystal Reports - ปรับ Viewer ไม่ให้มี Display Group Tree
6. การเปิด Typed Report Document ใน Crystal Report Viewer - Build Project จะมีส่วนของ Crystal Report Components ขึ้นมา - การกำหนด ReportSource ของ Crystal Report Viewer ให้เป็น Typed Report Document ที่ลากมาใน Form
7. การ Imports Namespace ที่สำคัญของ Crystal Report และรู้จักกับ TableLogonInfo เพื่อใส่ Password ให้กับ Database - การกำหนด ReportSource ให้กับ Viewer ขณะ Runtime - การ Imports Namespace ที่สำคัญของ Crystal Report - รู้จักกับ TableLogonInfo ของ Table ใน Report - การเปลี่ยน ServerName, Database, UserID หรือ Password ให้กับ Database ก่อนเปิด Report - การใช้ ApplyLogonInfo
8. เขียนโปรแกรมเปลี่ยน ServerName ของ SQL Server และการ Refresh Report - ปรับข้อมูล Products ของ Northwind ใน SQL Server 2000 และ SQL Server 2005 ให้มีข้อมูลแตกต่างกัน - การใช้ ComboBox : AddItem และ SelectedIndex - เขียนโปรแกรมเปลี่ยน ServerName เพื่อ Connect ไปยัง Instance ของ Server คนละตัว - จำเป็นต้อง Refresh Report ไม่เช่นนั้นจะทำให้ทำงานช้ามาก
9. การใส่เงื่อนไขใน Report โดยใช้ RecordSelectionFormula - การใส่เงื่อนไขให้กับ Report โดยใช้ RecordSelectionFormula - การอ้าง Field ที่ต้องการใส่เงื่อนไข - การใส่เงื่อนไข ProductID แบบเป็นช่วง โดยใช้ in และ to
10. การบังคับให้ป้อนเฉพาะตัวเลขใน TextBox และ SelectionFormula ของ Crystal Report Viewer - การเขียนโปรแกรมให้ใส่ค่าได้เฉพาะตัวเลขใน TextBox - การใช้ Handles ทำให้สามารถเขียนโปรแกรมที่เดียว - การ Validate ค่าที่ป้อนก่อนส่งค่าเข้า Report - การใส่ค่าเป็นช่วง สามารถใส่ค่าที่มากกว่าก่อนได้ - การใช้ SelectionFormula ของ Crystal Report Viewer
11. การใส่เงื่อนไขซ้อนโดยใช้ ViewTimeSelectionFormula. - การใส่เงื่อนไขซ้อนให้กับ ViewTimeSelectionFormula 12. การจัดการกับ SelectionFormula ที่มีมากกว่า 1 เงื่อนไข - การจัดการกับ SelectionFormula ที่มีค่ามากกว่า 1 เงื่อนไข - การใช้ Items.Add ของ ComboBox - ข้อแตกต่างจาก ViewTimeSelectionFormula
13. เปลี่ยนแปลงการเรียงข้อมูลจากการเขียนโปรแกรมโดยใช้ SortFields และ FieldDefinition - การอ้าง SortFields และ DataDefinition - การใส่ข้อมูลใน ComboBox ในขณะ Design - การเปลี่ยนแปลงการเรียงข้อมูลขณะ Runtime - การอ้าง Fields ของฐานข้อมูลโดยใช้ FieldDefinition
14. เขียนโปรแกรมเปลี่ยนทิศทางการเรียงข้อมูล โดยใช้ SortDirection - สร้าง GroupBox และ RadioButton เพื่อให้เลือกการเรียงข้อมูลแบบ Ascending และ Descending - เขียนโปรแกรมเปลี่ยนทิศทางการ Sort โดยใช้ SortDirection - ตรวจสอบว่าเลือก RadioButtons ตัวไหนจากคุณสมบัติ Checked ของ RadioButton
15. การเขียนโปรแกรมเปิด External Report (อีก Model) และ ReportDocument - เตรียม Form และ Report ใหม่ - การปรับให้ Report อยู่นอก Project : Exclude From Project - ศึกษา Model ใหม่โดยเปิด Report จากนอก Project - การใช้ ReportDocument และการเปิด External Report - ข้อดีของ External Report
16. รู้จัก OleDbDataAdapter และ DataTable และการส่งค่า DataTable เข้า Report - การเปิด Table จาก VB.NET โดยใช้ OleDbDataAdapter - Connection String ในการติดต่อกับ SQL Server - การใช้ OleDbDataAdapter และ DataTable - การใช้ Module และการประกาศตัวแปรเพื่อใช้ทั้ง Project - การเปิด DataTable - การส่ง DataTable เข้าไปใน Report - ข้อดีของ Model นี้
17. การส่ง DataTable ที่มาจากฐานข้อมูล Access หรือ SQL Server ก็ได้ - สร้าง ComboBox เพื่อเลือก Database จาก SQL Server 2000, SQL Server 2005 และ Microsoft Access - เปิด DataTable จากฐานข้อมูลต่าง ๆ ด้านบน - Connection String ของการเปิดฐานข้อมูล Microsoft Access - ส่ง DataTable ที่เกิดจากการเปิดฐานข้อมูลต่าง ๆ เข้า Report ตัวเดียวกัน
18. ข้อดีของการส่ง DataTable เข้า Report และ Connection String ของ Database Access ที่มี Password - ข้อดีในการส่ง DataTable เข้า Report - การกำหนด Password ให้กับ Database Access ต้องเปิดแบบ Exclusive - Connection String ของ Access ในกรณีที่ Database มี Password
19. ตรวจสอบว่ามีปัญหาเกิดขึ้นหรือไม่ เมื่อมีการส่ง DataTable ที่มีจำนวน Fields ไม่เท่ากับใน Report - เลือกเฉพาะ Fields ที่ต้องการมาใส่ใน DataTable - การส่ง DataTable ที่มี Fields ไม่ครบเข้า Report ก็ไม่ทำให้เกิด Error แต่ใน Report จะไม่แสดง Fields นั้น ๆ - การ Rename Field ใน SQL Statement จะใช้ As
20. การ Filter ข้อมูลที่ต้องการ และการเรียงข้อมูลใน Report ที่ต้องการโดยไม่ต้องใช้ RecordSelectionFormula และ SortField - การใส่เงื่อนไขโดยไม่ใช้ RecordSelectionFormula แต่เขียนเป็น SQL Statement แทน - การเรียงข้อมูลโดยไม่ต้องใช้ SortField แต่เขียน SQL Statement แทน - เปรียบเทียบการเขียน Program ที่ได้ Output เหมือนกัน แต่เขียนโปรแกรมโดยใช้เทคนิคต่างกัน - การเชื่อม SQL Statement ในกรณีที่มีการ Filter หรือ Sort ข้อมูล ต้องอย่าลืมวรรคให้ถูกต้อง - กรณีที่มีการอ้าง Field ที่มีการเว้นวรรค ต้องคลุมด้วยวงเล็บก้ามปู
21. Options ต่าง ๆ ของ Default Settings ของการ Design Report - การกำหนด Printer SetUp - การกำหนด Page Setup เพื่อควบคุม Margin ของ Report - การกำหนด Default Settings ของการ Design Report - กำหนด Default Fonts ในการ Design ส่วนต่าง ๆ ของ Report - การ Discard Saved Data เมื่อมีการเปิด Report ทำให้มีการดึงข้อมูลจากฐานข้อมูลทุกครั้ง ไม่มีเก็บข้อมูลไว้ในส่วนของ Report - รูปแบบของ Default Currency
22. การส่งค่าเข้าไปใน Formula Fields ที่ทำเป็น Header จาก VB.NET - สร้าง Formula Field เพื่อทำเป็น Header ของ Report - รูปแบบของ Formula Field จะมี @ นำหน้า - การอ้างค่า Formula Field จาก VB.NET - รูปแบบการส่ง String เข้าใน Formula ต้องคลุมด้วย single quote '…' - object ของ FormulaFields จะอยู่ภายใต้ Object DataDefinition
23. การเปลี่ยนค่า Formula Fields ขณะ Runtime โดยอ้างค่าจาก Field - สร้าง Formula Field ที่เป็นสูตรคำนวณโดยการอ้างจาก Field - เปลี่ยนค่า Formula Field ขณะ Runtime โดยอ้างค่าจาก Field ในฐานข้อมูล - การอ้าง Formula Field จาก VB.NET ไม่ต้องมีเครื่องหมาย @
24. การอ้าง TextObject และ ReportDefinition จาก VB.NET เข้าไปที่ Object ของ Report - การประกาศตัวแปรประเภท TextObject และ Namespace ของ TextObject - การอ้าง TextObject ที่เป็น Label อยู่ใน Report - ต้องอ้าง Report ในส่วนของ ReportDefinition และ Sections แล้วค่อยอ้าง TextObject - การเปลี่ยนข้อความของ TextObject - การเปลี่ยนตำแหน่งของ TextObject - การเปลี่ยนสีของ TextObject - การอ้าง Object Font และ Object Color ใน VB.NET
25. การอ้าง FieldObect ที่อยู่ในส่วนของ Detail จาก VB.NET และการซ่อน Fields โดยสั่งจาก VB.NET - การอ้าง FieldObject จาก VB.NET - การเปลี่ยน Font ของ FieldObject - Field Object อ้างอยู่ภายใต้ ReportDefinition, Sections เช่นเดียวกัน - การซ่อน Field เพื่อไม่ให้แสดงใน Report สำหรับบาง Users - ObjectFormat ของ FieldObject - FieldFormat ของ FieldObject
26. การสร้าง Parameter Fields, Default Value, Decrete Value และประโยชน์ในการใช้ - การสร้างและการอ้าง Parameter Fields - การกำหนด DataType ของ Parameter Fields - ความหมายของ Discrete Value - ประโยชน์ของ Parameter Fields - Default Value ของ Parameter Fields - การนำ Parameter Fields ไปใช้ในส่วนของ Record Selection Formula
27. การส่งค่า Parameter Field จาก VB.NET แบบที่ 1 โดยใช้ SetParameterValue และการส่งค่า Parameter มากกว่า 1 ตัว - การส่งค่า Parameter Field จาก VB.NET โดยใช้ SetParameterValue - การส่งค่า Parameter มากกว่า 1 ตัวเข้าไปใน Report - เปรียบเทียบกับการใช้ RecordSelectionFormula และการส่ง DataTable เข้าไปใน Report
28. ทดสอบ Parameter Field กับ DataType ประเภทวันที่ และรูปแบบวันที่ที่ส่งจาก VB.NET ที่ไม่เกี่ยวกับ Regional Settings - สร้าง Parameter Field ประเภทวันที่ - ใช้ Parameter Field เพื่อแสดงข้อมูล - การส่งค่าวันที่จาก VB.NET เข้าไปใน Report - ค่าวันที่จาก VB.NET ที่ไม่เกี่ยวกับ Regional Settings
29. การส่งค่าจาก TextBox และ DateTimePicker เข้าไปใน Parameter Fields ของ Report และความหมายของ Default Values - การใช้ DateTimePicker และการกำหนดรูปแบบที่ต้องการแสดงของวันที่ - การส่งค่าจาก TextBox และ DateTimePicker เข้าไปใน Parameter Fields ของ Report - Dialog ของ Parameter Fields - Default Values ของ Parameter Fields และการใส่ค่า Default Values หลาย ๆ ค่า
30. การส่ง Parameter Fields ผ่าน Viewer โดยใช้ ParameterFieldInfo และ ParameterDiscreteValue - การส่ง Parameter ผ่าน Viewer โดยใช้ ParameterFieldInfo - ParameterFields และ ParameterField Object - ParameterDiscreteValue Object - ข้อควรระวังในการส่งค่า
31. การสร้าง Parameter แบบ Range Values และการใช้ ParameterRangeValue - ปรับ Parameter Field ให้เป็นแบบ Range Values - รู้จักกับ Object ParameterRangeValue กับค่าเริ่มต้นและค่าสุดท้าย - การใส่เงื่อนไขใน Record Selection Formula แบบ Range - สรุปเกี่ยวกับ Parameter Fields ของ Crystal Report
เนื้อหาในซีดีแผ่นที่ 3 1. เตรียม Project Windows Application ใหม่ และการเชื่อมโยง Database ใน Report แบบ Access/Excel (DAO) - เตรียม Project แบบ Windows Application ใหม่ เป็น Crystal03 - เชื่อมโยงฐานข้อมูลแบบ Access/Excel (DAO)
2. การสร้าง Report ประเภท Label ทำให้สามารถ Display ข้อมูลในส่วน Details ได้มากกว่า 1 Record - การสร้าง Report แบบ Label เพื่อให้แสดงข้อมูลใน Report - การทำ Label โดยกำหนด Format with Multiple Columns ในส่วนของ Details ทำให้มี Tab ส่วน Layout - ปรับความกว้างของแต่ละ Label และ Gap ระยะห่างระหว่าง Label - รูปแบบการเรียงข้อมูลจะเป็นในแนวนอนก่อน (Across then Down) หรือในแนวตั้งก่อน (Down then Across) - การซ่อนส่วน Page Header และ Report Header 2 วิธี
3. ปรับข้อความให้ระหว่าง Fields ให้ต่อเนื่อง โดยใช้ Formula ช่วย และเขียนโปรแกรมเปิด Report ใน VB.NET - สร้าง Formula เพื่อช่วยในการแสดงข้อความหลาย ๆ Fields ให้ต่อเนื่องกัน - เขียนโปรแกรมเปิด Report ใน VB.NET
4. การเปลี่ยน Path ของ Database Access ในกรณีที่เลือกแบบ DAO เพื่อเปิด Report จาก VB.NET - การเลือก Database Expert จาก History - การเปลี่ยน Path ของ Database Access จาก VB.NET - การใช้ Location เพื่อเปลี่ยน Path ของ Database
5. ทดสอบการส่ง DataTable เข้าไปใน Report ที่ออกแบบจาก Database ที่ Connect แบบ DAO - เปิด DataTable โดยใช้ OleDbDataAdapter - Connection String ที่ใช้ในการติดต่อกับ Database Access - ทดสอบส่ง DataTable เข้าไปใน Reports
6. สร้าง Toggle Buttons จาก Radio Buttosn เพื่อเลือกข้อมูลเป็นช่วง โดยใช้ SelectionFormula ของ Viewer - การสร้าง Radio Buttons แล้วปรับให้เป็น Toggle Buttons ใน VB.NET - ซ่อนค่า Tag เพื่อใช้ใน SelectionFormula ของ Viewer - การอ้าง Code CheckedChanged ที่เดียวกัน โดยใช้ Handles - การอ้าง Fields ที่ต้องการใส่เงื่อนไขใน Report และการใช้ RefreshReport - Filter ข้อมูลเป็นช่วง โดยใช้ in และ Ranges - การใช้ PerformClick ของ Button
7. การ Export, การซ่อนบางปุ่มใน ToolBar ของ Crystal Report Viewer เพื่อซ่อนปุ่มต่าง ๆ และการซ่อน GroupTree - การ Export ข้อมูลจาก Report ไปเป็น pdf ไฟล์ - การซ่อนปุ่ม Export, Print, DisplayGroupTree ใน ToolBar ของ CrystalReport Viewer - การซ่อน GroupTree ของ Crystal Report Viewer
8. Event Navigate ของ Crystal Report Viewer และการค้นข้อความใน Report - Event Navigate ของ Crystal Report Viewer - ความหมายของ CurrentPageNumber และ NewPageNumber - การค้นข้อความภายใน Report จะค้นจากหน้าปัจจุบันไป - การค้นข้อความไปยังหน้าที่ต้องการ แต่ที่ Event Navigate จะไม่ทำงาน
9. คำสั่งการค้นข้อความใน Crystal Report โดยใช้ SearchForText - คำสั่งในการค้นข้อความใน Report โดยใช้ SearchForText - การตรวจสอบว่าค้นข้อความดังกล่าวพบหรือไม่
10. หลังจากค้นข้อความ ให้แสดงเลขหน้าให้ถูกต้องใน Label ของ VB.NET และการตรวจสอบจำนวนหน้าทั้งหมด - การใช้ GetCurrentPageNumber เพื่อหาเลขหน้าที่ถูกต้อง ซึ่งใช้นอก Event Navigate - การใช้ ShowLastPage เพื่อยังหน้าสุดท้าย แล้วเก็บจำนวนหน้าทั้งหมดเข้าตัวแปร - เขียนที่ Event ต่าง ๆ ให้ครบ เพื่อแสดงหน้า N of M ใน Label ของ VB.NET
11. คำสั่งในการไปยังหน้าต่าง ๆ ของ Report โดยการสร้างเป็น User Control ที่ประกอบไปด้วยปุ่มต่าง ๆ - การสร้าง User Control เพื่อทำเป็น Reusable Components - การสร้าง Property ใน User Control - การใช้ Private WithEvents - การส่งค่า Viewer เข้าไปใน UserControl - คำสั่งในการไปยังหน้าต่าง ๆ ของ Report : ShowFirstPage, ShowPrevious Page, ShowNextPage และ Show LastPage - การนำ User Control ที่สร้างขึ้นมาใช้ใน Form
12. การใช้ ShowNthPage โดยสร้างไว้ใน UserControl โดยดักเมื่อมีการกดปุ่ม Enter - การใช้ ShowNthPage โดยใส่ไว้ใน UserControl - การดักที่ Event ของ KeyPress ของ TextBox เพื่อดักตัวเลขเท่านั้น และเมื่อกดปุ่ม Enter ให้ไปยังหน้าที่ใส่หมายเลขไว้ - ข้อดีของการสร้าง UserControl - การใช้ e.Handled ใน event Keypress ของ TextBox - การใช้ TextBox.SelectAll เพื่อเลือกข้อความทั้งหมด
13. การสร้าง ReadOnly Property TotalPage และ Property CurrentPage ให้กับ User Control - การสร้าง Property แบบ ReadOnly TotalPage เพื่อตรวจสอบจำนวนหน้าทั้งหมดให้กับ User Control - การสร้าง Property CurrentPage - ตรวจสอบค่า Property ที่ได้ใน Windows Form - การทำงานบางอย่างของ Property ก่อนที่จะ Return ค่า
14. การเขียนโปรแกรมให้ปุ่มที่ไปหน้าต่าง ๆ ให้ Enabled หรือ Disabled เมื่อไปอยู่ในหน้าต่าง ๆ - เขียนโปรแกรม ButtonsCheck เพื่อควบคุมให้ปุ่ม Enabled หรือ Disabled เมื่อมีการไปยังหน้าต่าง ๆ - แก้ปัญหาที่เกิดขึ้นจากการเขียนที่ Navigate แล้วเกิด Stack OverFlow เนื่องจากวน loop ไม่รู้จบ - ตรวจสอบความถูกต้องของ UserControl ทั้งหมด
15. สร้าง ComboBox ไว้ใน UserControl เพื่อจัดการกับการ Zoom Report - การใช้ For แบบมี Step ทีละ 40 - การใช้ ComboBox เพื่อจัดการกับการ Zoom ให้กับ Report - การใช้ Zoom Method ของ Crystal Report Viewer
16. สรุปเกี่ยวกับการสร้าง UserControl Navigate ขึ้นใช้เอง และคำสั่งต่าง ๆ ของ Viewer - สรุปเกี่ยวกับการสร้าง UserControl - สรุปเกี่ยวกับการสร้าง Property และ Property แบบ ReadOnly - สรุปการใช้คำสั่งต่าง ๆ เกี่ยวกับ Viewer - การไม่ให้แสดง Property TotalPage ใน Property Windows เนื่องจากคุณสมบัติ ReadOnly ของ Property - การเขียนโปรแกรมร่วมกันระหว่าง Crystal Report Viewer และ User Control ใน VB.NET
17. สร้าง Query ใน Access หรือ View ใน SQL Server เพื่อมาออก Report และข้อดีข้อเสีย, Verify Database - สร้าง Query ใน Access หรือ View ใน SQL Server - นำ Query หรือ View ที่สร้างขึ้นเพื่อมาออก Report - แก้ไข Query แต่ใน Report ยังเห็นโครงสร้างเดิม ต้อง Verify Database ก่อน เพื่อให้เห็น Field ใหม่ที่เพิ่มขึ้น - ข้อดีและข้อเสียของ Query หรือ View ในการออก Report
18. การจัดกลุ่มข้อมูล 2 ชั้น ตาม OrderDate และ OrderID และการแต่งสีทั้งแถวในแต่ละ Group - การสร้าง Group Section 2 ชั้น ตาม OrderDate และ OrderID - การแต่งสีพื้นให้แตกต่างกันในแต่ละ Group
19. การแก้ปัญหา Group ของ OrderID ที่มี comma และการใช้ Formula Field, SQL Express Fields และการเขียน SQL แบบใช้ As - การแก้ปัญหา Group ของ OrderID ที่มี comma และการปรับที่ Default Settings - การใส่สูตรแบบ Formula Field - การใส่สูตรแบบ SQL Expression Field ซึ่งจะทำงานจากตัว Database หรือ Server มีรูปแบบการใช้ใน Report เป็นสัญลักษณ์ % - การใส่สูตรจาก SQL Statement แบบใช้ As
20. การใส่ Summary ในแต่ละ Group และ Options ของ Groups - การใส่ Summary ในแต่ละ Group : OrderDate, OrderID - Options ของ Group แต่ละกลุ่ม สามารถกำหนดรูปแบบการเรียงข้อมูล - ตกแต่งและเน้นข้อมูล Summary ในแต่ละกลุ่ม
21. การจัดข้อมูลให้แต่ละกลุ่มอยู่ในหน้าเดียวกัน ข้อมูล Details และ Group Header ให้อยู่ในหน้าเดียวกัน ไม่ข้ามหน้า - การปรับข้อมูล Group Header และ Detail ต้องอยู่ในหน้าเดียวกัน - การกำหนด Keep Group Together ในส่วนของ Options ของ Group Expert
22. การใส่เงื่อนไขประเภทวันที่ และข้อแตกต่างระหว่าง Group Selection Formula และ Record Selection Formula - การใส่เงื่อนไขประเภทวันที่ใน Report - การใช้ Group Selection Formula - ข้อแตกต่างระหว่าง Group Selection Formula และ Record Selection Formula
23. การส่งค่าวันที่เข้า Group Selection Formula จาก VB.NET โดยไม่ให้เกี่ยวกับ Regional Settings และการใช้ Splitter - รูปแบบวันที่อื่น ๆ ใน Crystal Report - การใช้ Splitter และ Panel เพื่อให้ Viewer สามารถขยายขนาดได้ - การส่งค่าวันที่จาก Windows Application ใน VB.NET - การกำหนดรูปแบบวันที่ตามที่ต้องการแบบ Crystal Report ใน VB.NET - การใช้ System.Globalization และ DateTimeFormatInfo ในรูปแบบที่ต้องการ เพื่อให้ได้เดือน วัน ปีที่เป็น ค.ศ. - การเขียนโปรแกรมไม่ให้อิงกับ Regional Settings
24. ทดสอบข้อมูลช่วงวันที่ โดยใช้ RecordSelectionFormula - ทดสอบข้อมูลช่วงวันที่โดยใช้ RecordSelectionFormula - ข้อมูลเป็นช่วงใช้ to (Range) - รูปแบบการส่งวันที่ 2 แบบ คือ #MM/dd/yyyy และ Date(yyyy, MM, dd)
25. รูปแบบการทำ Drill-Down ใน Crystal Report - การทำ Drill-Down ใน Crystal Report - การกำหนดให้แสดงข้อมูลส่วนของ Group Header เหมือนปกติ ไม่ต้อง Drill-Down
26. การแก้ปัญหาตัวเลขใน Display Group Tree ไม่ให้มีเครื่องหมาย comma และการจัดกลุ่มแบบใส่สูตร - การแก้ปัญหาตัวเลขใน Display Group Tree ไม่ให้มีเครื่องหมาย comma - การใส่สูตรในส่วนของ Group Header
27. ออกแบบ Query เพื่อออกแบบ Report ใหม่เพื่อสรุปยอดแยกตามปีและเดือน - ออกแบบ Query ใหม่ใน Access โดย Group ตามปีและเดือน โดยใช้ Group By และ Sum - นำ Query ที่สร้างขึ้นมาออกแบบเป็น Report ใหม่ เพื่อเตรียมเป็น SubReport
28. การนำ Report ที่สร้างขึ้นมาทำเป็น SubReport - ปรับรูปแบบ Report และ Summary ข้อมูลให้กับ Report ใหม่ที่แยกข้อมูลขาย ตามปีและเดือน - ให้แสดงข้อมูลปีเพียงครั้งเดียว โดยกำหนด Suppress If Duplicated - การสร้าง SubReport สามารถวางไว้ในส่วนไหนก็ได้ของ Report หลัก - เหตุผลในการทำ SubReport เพราะเป็นข้อมูลคนละชุด แต่ต้องการให้ออกใน Report ตัวเดียวกัน
เนื้อหาในซีดีแผ่นที่ 4 1. สร้าง Project ใหม่, การย้าย Forms, Reports มายัง Project ใหม่ และการเปลี่ยน Path Database ใน Report - สร้าง Windows Application Project ใหม่ - สอนเทคนิคการย้าย Forms เข้า Proeject ใหม่ - การย้าย Report เข้า Project ใหม่ - การตรวจสอบ References และการแก้ปัญหา References ที่ขาดหาย - เปลี่ยน Path ขณะ Design ของ Crystal Report โดยกำหนดที่ Set DataSource Location
2. การอ้าง SubReport Object จาก VB.NET และการใส่เงื่อนไขให้กับ SubReport - ระวังเรื่อง Object Name กับ SubReportName - การอ้าง Object ของ SubReport 2 เทคนิค - การใส่เงื่อนไข (Record Selection Formula) ให้กับ SubReport
3. การอ้าง Parameter Fields จาก VB.NET เข้าไปใน SubReport - Report ที่เป็น SubReport จะเก็บอยู่ใน Main Report - สร้าง Parameter Fields ให้กับ SubReport - การแก้ไข SubReport จะเป็นคนละตัวกับการแก้ไขใน Report7 - การอ้างค่า Parameter Fields ใน SubReport จาก Main Report
4. ทดสอบการส่ง Formula Field จาก VB.NET เข้าไปใน SubReport - สร้าง Formula Field ใน SubReport - ส่งค่า Formula Field จาก VB.NET เข้าไปใน SubReport
5. นำข้อมูลจาก Access มา Save เป็น File ประเภท XML - กำหนด Password ให้กับ Access Database จำเป็นต้องเปิด Exclusive - Connection String ของ Access ที่มี Password - เปิด DataTable จาก Access แล้วนำข้อมูลมาเก็บไว้เป็น XML File - การตรวจสอบว่ามีไฟล์อยู่แล้วหรือไม่ ถ้ามีให้ลบทิ้ง
6. ความหมายของ DataSet และ DataTable ที่ใช้ร่วมกัน แล้วใช้ DataSet ในการ Generate เป็น XML File - ความหมายของ DataSet และ DataTable - การ Add DataTable เข้าไปใน DataSet - การตั้งชื่อ DataSet - การใช้ DataSet ในการ Generate เป็น XML File - ดึงข้อมูลจาก XML File กลับมาเป็น DataTable
7. ประโยชน์ของ XML และ Generate XML File ที่มี Schema เก็บไว้ด้วย เพื่อให้สอดคล้องกับ Report ที่ Field มี DataType - ประโยชน์ของ XML ในแง่ต่าง ๆ - ทดสอบส่ง DataTable เข้าไปใน SubReport ซึ่ง DataTable ดึงมาจาก XML - การเก็บโครงสร้างและประเภทของ Field ใน XML File (Schema)
8. โครงสร้างของ XML ส่วนที่เป็น Schema และส่วนที่เป็นข้อมูล และการส่งค่าจาก XML เข้า SubReport - ศึกษาโครงสร้างของ XML Schema และ XML ในส่วนที่เป็นข้อมูล - เปิด XML ที่มี Schema เข้า DataSet - นำข้อมูลจาก DataTable ส่งค่าเข้าไปใน SubReport
9. การเปลี่ยน Path ของ TableLogonInfo ของ Report ที่ใช้ Database Access และ เปิด Database Access ที่มี Password - การใช้ TableLogonInfo กับ Report ที่ใช้ฐานข้อมูล Access - การเปลี่ยน Path Database Access - การส่งข้อมูล Password จาก VB.NET เข้าไปในฐานข้อมูล Access ที่มี Password - การวน loop Table ในกรณีที่มีมากกว่า 1 Tables
10. การเลือกข้อมูลเพื่อใส่ Graph ใน Report - การใส่กราฟใน Report - การเลือกข้อมูลเพื่อให้ได้กราฟตามที่ต้องการ - รูปแบบกราฟต่าง ๆ ของ Crystal Report - การใส่กราฟสามารถใส่ได้เฉพาะในส่วน Report Header และ Report Footer เท่านั้น
11. การเข้าไปแก้ไขกราฟที่ได้ Design ไว้แล้ว และการกำหนด Header และข้อความต่าง ๆ ของกราฟ - การเข้าไปแก้ไขส่วนต่าง ๆ ของกราฟที่ได้ Design ไว้แล้ว - การใส่ข้อความที่ตำแหน่งต่าง ๆ ของกราฟ - การเปลี่ยนรูปแบบกราฟ
12. สร้างกราฟใน Report ที่เป็นกราฟแท่งสามมิติ และให้มีข้อมูลเปรียบเทียบระหว่างปี - สร้างกราฟไว้ในส่วนของ Report Header - สร้างกราฟแท่ง 3 มิติให้มีการเปรียบเทียบข้อมูลระหว่างปี
13. Chart Options ของกราฟ เพื่อกำหนดรูปแบบของ Data Labels และ Legends - การกำหนดรูปแบบจาก Chart Options - การกำหนด Data Labels ของกราฟที่ตำแหน่งต่าง ๆ - การกำหนดให้แสดง Legends ของกราฟหรือไม่
14. Chart Options ของกราฟเพิ่มเติม และการใช้ CrossTab Object ของ Crystal Report - ศึกษาเกี่ยวกับ Chart Options เพิ่มเติม - การสร้าง CrossTab เพื่อสรุปผลข้อมูลแยกตามปี ตามเดือนอีกรูปแบบหนึ่ง - การเลือกข้อมูลเพื่อให้ได้ CrossTab ตามที่ต้องการ - CrossTab สามารถวางไว้ที่ Report Header และ Report Footer เท่านั้นเช่นเดียวกันกับกราฟ
15. การกำหนดรูปแบบและสีสันใน CrossTab และการใช้ HighLighting Expert เพื่อเน้นข้อมูลเฉพาะส่วน - รูปแบบ CrossTab ข้อมูลในส่วนแนวนอน, ข้อมูลในส่วนแนวตั้ง และข้อมูลส่วน Summary - กำหนดรูปแบบสีให้กับ CrossTab - การใส่เงื่อนไขให้ Column บาง Column ที่ต้องการเน้นข้อมูล โดยใช้ HighLighting Expert - การ Format Objects ในแต่ละส่วนของ CrossTab
16. การกำหนดรูปแบบ เส้น สี และการแสดงยอดรวมในส่วนต่าง ๆ ของ CrossTab Expert - การกำหนดสีสันในส่วนต่าง ๆ ของ CrossTab - จำนวน Fields ที่สามารถมีได้ในส่วนของ Rows, Columns และ Summary - การกำหนดสีของเส้นในส่วนของ CrossTab - การกำหนดให้ยอดรวมอยู่ในส่วนต่าง ๆ ของ CrossTab
17. การสรุปข้อมูล CrossTab ในฐานข้อมูล Access - สร้าง CrossTab Query ในฐานข้อมูล Access - การเลือก Field ว่า Fields นี้จะ Group By หรือ Sum - การเลือก Field ว่า Fields นี้จะอยู่ในส่วนของ Row Heading, Column Heading และ Value
18. เตรียม Report ใหม่ที่มีมากกว่า 1 Tables และจัดการเรื่อง Grouping เพื่อใช้เรียนเรื่องการส่ง Dataset เข้า Report - เตรียม Report ใหม่ที่มีมากกว่า 1 Tables - สร้าง Grouping เพื่อจัดข้อมูลเป็นกลุ่ม - แทรก Summary Field ในส่วนของ Group Footer
19. ส่ง DataTables 2 ตัวจาก Access เข้าไปใน Report - ออกแบบหน้าจอ เพื่อ Preview Report - เปิด DataTables 2 ตัว โดยใช้ OleDbDataAdapter ดึงข้อมูลจาก Access - ใช้ SetDataSource เพื่อส่งค่า DataTable เข้าไปใน Tables ของ Report
20. ข้อดีของการส่ง DataTables เข้า Report และการส่ง DataSet เข้า Report - ข้อดีของการส่ง DataTables เข้า Report - DataTables ที่ส่งเข้าไปสามารถมาจากคนละฐานข้อมูลได้ - การสร้าง DataSet และการ Add DataTables เข้า DataSet - การส่ง DataSet เข้า Report - ข้อแม้ในการส่ง DataSet เข้า Report จำเป็นต้องตั้งชื่อ DataTable แต่ละตัวให้เหมือนตอนที่ออกแบบ Report
21. การเปิด DataSet จาก SQL Server ซึ่งให้ผลลัพธ์มาเป็น 2 DataTables ทีเดียว แล้วส่ง DataSet เข้า Report - การ Fill เข้า DataSet จาก SQL Server โดยใช้ SqlDataAdapter แล้วมี 2 DataTables อยู่ใน DataSet ทีเดียว - Report ที่ออกแบบมาสามารถส่ง DataTables จากฐานข้อมูล Access หรือ SQL Server เข้าไปใน Report เดียวกันได้ - ข้อมูลใน Report สามารถมาจาก Table หนึ่งที่เป็น Access อีก Table หนึ่งมาจาก SQL Server ได้
22. สรุปข้อดีของการส่ง DataTables และ DataSet เข้า Report เปรียบเทียบกับการอ้าง Objects ของ Reports - สรุปข้อดีของการส่ง DataTables หรือ DataSet เข้า Report - เปรียบเทียบกับการอ้าง Objects ของ Crystal Reports ที่ซับซ้อน - สรุป Connection Strings ต่าง ๆ - String Connection ในกรณีที่ติดต่อ SQL Server แบบ Windows Authentication
23. สร้าง SubReport เพื่อไว้ในส่วนของ Group Header เพื่อสรุปยอดขายตามกลุ่มสินค้า และแยกตามปี - สร้าง Query เพื่อสรุปยอดขายแยกตามกลุ่มสินค้า และแยกตามปี โดยดึงข้อมูลมาจาก 4 Tables - สร้าง SubReport จาก Query ที่สร้างขึ้นโดยใช้ Wizard - แทรก SubReport ในส่วนของ Group Header ของกลุ่มสินค้า - เชื่อมโยง Field ระหว่าง SubReport กับ Main Report
24. การออกแบบ SubReport ในส่วนของ Group Header Section ใหม่ และเหตุผลในการใช้ Group Header Sections หลายแถว - แก้ปัญหาเรื่อง Font ที่กระเทือนมาจาก SubReport - ปรับ Summary Field ใน Report - สร้าง Group Header Section เพื่อแยกส่วน SubReport - สร้าง Group Header Section อีกตัวเพื่อควบคุมเรื่องข้อมูลที่ซ้อนทับกัน - เหตุผลในการสร้าง Group Header Section หลาย ๆ แถว
25. การเชื่อมโยง Field ระหว่าง Main Report และ SubReport และการซ่อน SubReport ตามเงื่อนไข - การเชื่อมโยง Field ระหว่าง Main Report และ SubReport - การซ่อน SubReport ตามเงื่อนไข จากการใช้ประโยชน์ของ Group Header Section - สรุปประโยชน์ในการสร้าง Sections หลาย ๆ ตัวใน Report
26. คำสั่ง Print จาก Viewer และจาก ReportDocument - คำสั่งในการ Print จาก Crystal Report Viewer - คำสั่ง Print จาก ReportDocument
27. การกำหนด PrinterSettings ใน VB.NET และส่งค่า PrinterSettings เข้า Crystal Report - การใช้ PrintDialog ใน VB.NET - การใช้ PrintOptions ของ ReportDocument และ Properties ต่าง ๆ ของ PrintOptions - การเปลี่ยน PrinterName ขณะออก Report - ความหมายของ Collate - การส่งค่า PrinterSettings จาก PrintDialog เข้าไปใน Report
28. Object PageMargins ของ ReportDocument - ศึกษา PageMargins ของ ReportDocument - การกำหนด leftMargin และ TopMargin ให้กับ Report - การใช้ ApplyPageMargins
29. เขียนโปรแกรมตรวจสอบรายชื่อ PrinterName ที่ติดตั้งในเครื่อง - ตรวจสอบ Printer ที่ติดตั้งในเครื่อง จาก Object PrinterSettings - รู้จักกับ Namespace System.Drawing.Printing - หลังจากทราบ Printer สามารถเขียนเขียนโปรแกรมเปลี่ยนชื่อ Printer โดยใช้ ReportOptions.PrinterName
เนื้อหาในซีดีแผ่นที่ 5 TID. Topic. Field0 0. . 1. เริ่มต้น Project ใหม่ และการสร้าง DataSet และ DataTable เป็นไฟล์ xsd และรูปแบบของ XML Schema - เริ่มต้น Project ใหม่เป็น Windows Application - สรุปเนื้อหาในแผ่นก่อนหน้านี้ - สร้าง DataSet ไฟล์ที่มีนามสกุลเป็น xsd - สร้าง DataTable และ Columns ต่าง ๆ รวมถึงกำหนดประเภทของ Field ประเภทต่าง ๆ - การกำหนด Field เป็นประเภทรูปแบบ - โครงสร้าง XML Schema ที่เก็บโครงสร้างของ Table
2. การสร้าง UnTyped DataSet และ Typed Dataset และการเปิด Dataset ที่เก็บในไฟล์ xsd - การสร้าง UnTyped DataSet - การสร้าง DataTable และการเพิ่ม Column ให้กับ DataTable แบบใช้คำสั่ง - การกำหนดประเภท Field โดยใช้คำสั่ง - การเปิด Typed Dataset ที่เก็บในไฟล์ xsd
3. การใช้ DirectoryInfo และ FileInfo ตรวจสอบไฟล์ใน Directory แล้วนำข้อมูล Add เข้า DataTable - Imports System.IO - ตรวจสอบไฟล์ว่าใน Directory มีไฟล์อะไรบ้าง โดยใช้ DirectoryInfo และ FileIno - การ Add ข้อมูลไฟล์ต่าง ๆ เป็น Records ใน DataTable
4. การอ่านข้อมูลไฟล์ภาพมาเก็บใน DataTable - รู้จัก FileStream, StreamReader และ BinaryReader - อ่านข้อมูลจากไฟล์ภาพมาเก็บในฐานข้อมูล - ข้อมูลประเภทภาพใน DataTable ต้องเป็น Byte Array
5. การ Export Dataset ที่มีภาพออกไปเป็น XML และการเก็บข้อมูลภาพใน XML (Base64) - การเก็บข้อมูลภาพใน XML - Export ข้อมูล Dataset ที่มีภาพ ไปเป็น XML - รูปแบบการเก็บข้อมูลภาพใน XML ซึ่งเป็น Base64 - Base64 มีตัวอักษรอะไรบ้าง
6. การนำ Dataset ที่สร้างขึ้นไปออกแบบ Report ใน Crystal Report และการสร้าง DataTable ที่มีภาพเข้าไปใน Report - การนำ Dataset ใน Project ไปออกแบบใน Crystal Report - การนำข้อมูล DataTable ที่มีภาพ ส่งเข้าไปใน Crystal Report
7. การ Export ข้อมูลไปเป็น PDF และ Excel โดยใช้คำสั่ง Export จาก Crystal Report Viewer และ ReportDocument - การ Export ข้อมูลจาก Crystal Report ไปเป็นไฟล์ประเภทต่าง ๆ - คำสั่งในการ Export จาก Crystal Report Viewer - คำสั่ง ExportToDisck จาก ReportDocument
8. การ Export โดยใช้ ExportOptions และ DiskFileDestinationOptions - การ Export อีกแบบที่สามารถกำหนด Options เพิ่มเติมได้ - การใช้ ExportOptions ร่วมกับ DiskFileDestinationOptions
9. การสร้าง ActiveX Dll จาก Visual Basic 6 เพื่อนำมาใช้ใน Crystal Report - สร้าง Project ที่เป็น ActiveX Dll จาก Microsoft Visual Basic 6 - สร้าง External Library สำหรับ Crystal Report - การตั้งชื่อ Project ต้องมีเกณฑ์ในการตั้งชื่อสำหรับใช้ใน Crystal Report - การ Register และ UnRegister Component - เครื่องผู้ใช้จำเป็นต้องมี Visual Basic 6 Runtime
10. สร้าง Report โดยเรียกฟังก์ชันจาก ActiveX Dll ที่สร้างขึ้น - สร้าง Formula Fields เพื่อเรียกใช้ฟังก์ชันที่สร้างขึ้น - ทดสอบ Report จากการเรียกฟังก์ชันใน ActiveX Dll
11. การทำ Setup Project ที่มี Crystal Report และการ Deploy - การ Add Project ที่ต้องการทำเป็นแผ่น Setup - ขั้นตอนการสร้าง Shortcut เพื่อให้สามารถ Setup ในเครื่องของผู้ใช้ได้ - Merge Modules ของ Crystal Report - ข้อแตกต่างระหว่าง Visual Studio.NET 2003 และ 2005 - ไฟล์ต่าง ๆ ที่ต้องนำไป
12. สรุปปิดท้ายเกี่ยวกับ Crystal Report - สรุปปิดท้ายเกี่ยวกับ Crystal Report - ขอบคุณครับ
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น