วันจันทร์ที่ 27 กรกฎาคม พ.ศ. 2558

Crystal Report ตอนที่ 2

ต่อจาก Report เดิมของตอนที่ 1

รายงานลูกค้าที่มียอดการสั่งซื้อสูงสุด 5 อันดับใน U.S.A.
ไปที่หน้า Design โดยเลือก Tab Design จะแสดงหน้าจอ ดังรูป


มาจัดหน้าตา Report ดีกว่า คลิกที่รูป powered by crystal ตรงส่วน Report Header ลบออกเลย
ลบเสร็จแล้วเราจะพิมพ์ข้อความใส่ลงไปต่อท้าย Report Description: เราต้อง Insert Text ก่อน โดยเลือก ตามรูป เมื่อเลือกแล้วก็พิมพ์ข้อความลงไปว่า Top Five USA Customers

ตรง Report Title ลบออก และ Insert Text ลงมาใส่แทน และ พิมพ์ว่า Top Five USA Customers ปรับขนาด Font เป็น 22 จะได้สภาพตามรูป

มาต่อกันเลย เปลี่ยนคำว่า Region ตรง Group Header เป็น State และเลือกให้อยู่กึ่งกลาง
ลบ Customer Name ออก ทั้งส่วนของ Group Header และ Detail จากนั้นก็เลื่อน State กับ Order Amount ให้ไปอยู่ตรงกลางเพื่อให้ดูสวยงาม จะได้สภาพตามรูป
 เมื่อได้สภาพตามรูปแล้ว เลือก
Insert Summary Icon เลือก Field ที่จะ Summary, Calculate this summary: เลือก Sum, location Summary เลือก Group#1: Customer.Customer Name - A >> กด OK

เมื่อได้ Sum Of Order Amount แล้ว เอาไปไว้ที่ Group Foorter 1a (GF1a) ตามรูปด้านล่าง
เมื่อ Preview ดูเราจะเอาเฉพาะSum of Order Amount เท่านั้น ซึ่ง Detail ที่ยังไม่ได้ Sum ที่เห็นอยู่เราจะลบออกนะ กลับไปที่หน้า Design เลย

เลือกส่วน Detail คลิกขวาเลือก Hide(Drill-Down OK) เพื่อจะซ่อนส่วน Detail

เมื่อ Preview ดูส่วน Detail หายไปแล้วเหลือแต่ Sum of Order Amount

ตอนนี้ Report ที่ได้ ยังมีการแบ่งหน้าตาม Customer Name อยู่และส่วนตรง State ได้ถูกซ่อนไปแล้วเลือก
Insert Summary Icon เลือกเงื่อนไขตามรูปเลย >> กด OK

เลือก Insert Summary Icon อีกครั้ง เพื่อ Sum Customer.Region >> กด OK

เอาไปไว้ส่วน Group Footer 1a(GF1a) จะได้สภาพตามรูป

ตรง Group Header 1a(GH1a) เลือก Group #1 Name ที่เป็นส่วนแสดง Customer Name ลบออก
ในตอนนี้ยังมีการแสดงผล 1 ชื่อต่อ 1 หน้า เราจะทำการมารวมกันเป็นหน้าเดียว
คลิกขวาตรง GF1a เลือก Section Expert...

เลือกขึ้นไปอีก 1 level (Group Footer #1: Custermer.Customer Name - A)


มองไปทางด้านขวา ตรง New Page After เลือก Formula icon
กดเข้าไปจะแสดงตามรูป ให้ลบคำว่า not onlastrecord >> เลือก Save and close

เอา check ถูกตรง New Page After ออก >> กดปุ่ม OK
Preview ดู ทุก Customer Name จะมารวมอยู่หน้าเดียวกันแล้ว เป็นอันเสร็จสิ้นการทำ Report การหา Top 5 USA Customers ทำการ Save ให้เรียบร้อย


Crystal Report ตอนที่ 1

ช่วงนี้หัดเขียน Crystal Report เพื่อเป็นการเตือนความจำตัวเองและทบทวนสิ่งที่ได้ทำไปด้วยเลยเอามาลง บล๊อกดีกว่า ตัวอย่างที่จะทำเป็น (ซึ่งก็ไปแปลเขามาอีกที) รายงานลูกค้าที่มียอดการสั่งซื้อสูงสุด 5 อันดับใน U.S.A.

ขั้นแรก เปิด Crystal Report 10 ขึ้นมาก่อนเลย

ถ้าใครไม่มีก็ไม่ต้องทำ 555(ล้อเล่นนะ) เปิดขึ้นมาก็จะเจอ dialog box ตามสภาพดังรูป
เลือก Using the Report Wizard >> กด OK

จะปรากฎตามรูป >> กด OK

สู่ขั้นตอนต่อไป เลือก Data Source ในที่นี้เราเลือก ODBC(RDO) เพื่อจะใช้ฐานข้อมูล Access คลิกตรงปุ่มบวก 1 ครั้ง หรือจะคลิก 2 ครั้งก็ได้ไม่ว่ากัน


เลือก MS Access Database กด Next และ กด finish ต่อเลยจ้า


จะแสดง Dialog box ให้เลือก Path file ในที่นี้จะเลือก Path file MS Access ที่มากับโปรแกรม Crystal Report 
Path อยู่ที่ C:\Program Files (x86)\Crystal Decisions\Crystal Reports 10\Samples\En\Databases
เลือก xtreme.mdb ที่อยู่ทางด้านซ้ายมือ >> กด OK



จะได้ สภาพดังรูปด้านล่าง

ต่อไปจะลงมือเลือก Tables จะใช้ Table Customer กับ Orders เลือกไปไว้ฝั่งขวามือเลย ตามรูปด้านล่างเลยจ้า  กด Next

แสดง การเชื่อมต่อระหว่าง 2 Table ค่าเดิมเชื่อมต่อระหว่าง Table Customer Customer ID กับ Table Order Customer ID ไม่ต้องไปแก้ไขอะไรหรอก กด Next ไปเลย


เลือก Field ที่จะแสดงตรงหน้า Report
Table Customer เลือก Field Customer Name กับ Region
Table Orders เลือก Order Amount เลือกเอาไปไว้ฝั่งขวาเลย


จะได้สภาพตามรูป เป๊ะๆ กด Next เลย

เจอ Group By ก็บายๆไม่ใช่และ เลือก Group By CustomerName เอาไปไว้ฝั่งขวา และเรียงลำดับจากมากไปหาน้อย เลือก <<in descending order>> กด Next

Summarized Fields มัน Sum Order.Orders Amount ให้เรียบร้อย ก็ Next ไปเลย
หน้าต่อไป เลือก Top 5 groups เลือก Sum of Order Amount ตามสภาพด้านล่าง

กด Next จะแสดงประเภท chart ที่ต้องการ ไม่ต้องเลือกอะไร กด Next ต่อเลย
ส่วน Filter Field เลือก Filter Field จาก Table Customer Field Country เลือก ไปทางด้านขวา
เงื่อนไข Filter เลือก is equal to เลือก U.S.A. ตามรูปเลยนะ กด Next

เลือก Template Report >> Block(Blue) >>กด Finish เสร็จสิ้นการสร้าง Report Wizard
 

เสร็จสิ้นการสร้าง Report หน้า Preview ที่ได้ แต่ยังไม่เสร็จเดี๋ยวมีต่ออีกนะ