[Crystal Report] Error “This field name is not known”

Crystal Report

วันนี้ผมได้ช่วยพี่ในทีมดู Report ทีมีปัญหาในการออกรายงาน เมื่อทดสอบการทำงานของโปรแกรมครับ โดยมี Message แจ้ง “This field name is not known” ดังรูป สาเหตุ เกิดจาก Field/Formular  ใน Layout ของ Report ไม่สัมพันธ์กับ Field ใน Database ครับ วิธีการแก้ไข เปิด Report Designer เลือกเมนู Database >> Verify Database เพื่อตรวจสอบว่า Field หรือ Formular ทีใช้ใน Report สัมพันธ์กับใน Database หรือไม่

ลองอัพ Official Rom Lenovo P780 Android KitKat

วันนี้ลองเล่นมือถืออยู่ดีๆ  พบว่ามีน notification แจ้ง Update Rom จาก Android Jelly Bean เป็น Android KitKat(P780_ROW_S220_140722 ขนาด 722 MB) ผมเลยลองเป็นหน่วยกล้าตายเสี่ยงดูครับ 555 ได้ผมอย่างไร เดี่ยวลองมาดูกัน !!! ตอนนี้มี Update เป็น P780_ROW_S221_140729 แล้วจ้า(174 MB) ดังรูป !!! ตอนนี้ Update เป็น P780_ROW_S226_140919 แล้วครับ (743 MB) [อาจจะโหลดช้านิดนึง เพราะ ช่วงนี้สายเคเบิล AAG ขาดนะครับ] ดังรูป เตรียมตัวก่อน Update KitKat Backup ข้อมูลที่จำเป็นให้หมดทุกอย่างเลยครับ เพราะเนื้อจากการอัพรุ่นครั้งนี้เป็น major change จึงเป้นลง OS ใหม่เลย มากกว่าการ Upgrade ครับ เตรียมพื้นที่ใน SD Card ให้เหลือไว้เยอะๆ สัก 2 GB เพราะตัว ROM ใหม่ขนาดก็ปาไป 722 MB แล้วครับ และเราต้องเผื่อพื้นที่ให้มันแตกไฟล์ต่างๆชั่วคราวระหว่างลงด้วยครับ ตรวจสอบว่าระบบ Battery ควรมากกว่า 80% ระดับ ถ้าไม่ถึงควรชาร์จ ฺBattery ก่อนครับ Internet แรงๆ สำหรับโหลดตัว Update ครับ แนะนำว่าต่อ Wifi ดีกว่าครับ เวลาระบบ Checksum ข้อมูลไฟล์จะได้ไม่มีปัญหาครับ เริ่ม Update (กดตามรูปไปเลยก็ได้ครับ โดยจะมีอธบายเพิ่มนิดหน่อย เผื่อมี user มือใหม่มาอ่าน) เวอร์ชันของ Rom ก่อนที่ผมจะอัพครับ เป็น…

[Crystal Report] Tip ในการออกแบบ Layout รายงาน (.rpt) เพื่อให้ Export เป็นไฟล์ Excel ได้อย่างถูกต้อง

สัปดาห์ที่แล้วผมได้แก้ปัญหาของรายงานที่สร้างจากตัว Crystal Report ซึ่งมีปัญหาในการ Export รายงานออกมาเป็นไฟล์ Excel แล้วไฟล์ที่ Export ออกมามี Layout เละ ผิดจากที่ได้ออกแบบไว้ใน Crystal Report เยอะเลย user เอาข้อมูลไปใช้งานต่อได้ลำบาก โดยวันนี้ผมได้สรุป เทคนิคดีๆในการจัด Layout ของ Report เพื่อให้สามารถ Export ข้อมูลออกมาได้สวยงาม และสามารถนำข้อมูลไปใช้ต่อได้ง่ายครับ ตัวอย่าง ในรายงานมีเงื่อนไขในการแสดงข้อมูล 2 ฟิลด์ ได้แก่ Grade A และ Grade B โดยใช้กำไรเป็นเงื่อนไข ถ้ากำไรมากกว่า 60,000 ให้แสดงฟิลด์ Grade A ถ้าไม่ใช่แสดงฟิลด์ Grade B แทนจากเงื่อนไขนี้ เราจำเป็นต้องใช้ suppression formula ให้กับทั้ง 2 ฟิลด์ เมื่อ Export เป็น Excel ตัว Excel จะเข้าใจว่าเป็น 2 field  และกินพื้นที่ 2 cell แทน วิธีนี้ เรามาสามารถแก้ปัญหาโดยแยก Section ในรายงานเพื่อแสดงรายละเอียด โดยส่วนแรกเป็นรายการที่ได้กำไรในระดับ Grade A และ อีก Section สำหรับ Grade B ตามลำดับ หากต้องการให้รายงานที่ Export มีเส้น และตาราง แนะนำให้ลองไปใช้การ set Border ของ Object ต่างๆใน Crystal Report แทน เช่น Text field หรือ Database field เป็นต้น…

[.NET] Manage Resource VS Unmanage Resource

ช่วงนี้ผมลองศึกษา Pattern ออกแบบ Software ของฝั่ง Microsoft เสนออยู่ครับ โดยเป็นพวก MVP และ MVVM (เดี๋ยวว่าๆ จะมาเขียน Blog สรุปให้อ่ากันนะครับ) เมื่อผม”ศึกษา ค้นพบ เรียนรู้ และเจอปัญหาใหม่” ซึ่งทำให้ผมต้องทำความเข้าใจกับคำว่า “Manage Resource” กับ “Unmanage Resource” กันก่อน ว่าแต่ละคำ คือ อะไร และทำไมเราถึงต้องเข้าใจ และประยุกต์ใช้กับการ Coding ได้อย่างไร ? Resource คือ อะไร ? ถ้าแปลตรงตัว Resource คือ ทรัพยากร แล้วในคอมพิวเตอร์ของเรา ทรัพยากรที่มีอะไรบ้าง เช่น พลังในการประมวลผลของ CPU, หน่วยความจำ(Memory, Hard disk เป็นตัน) ในเรื่องนี้ Resource ของผมหมายถึงหน่วยความจำนะครับ ที่แต่ละ Thread หรือ Process เข้าไปจองไว้ เพื่อให้งานในช่วงเวลาหนึ่งนะครับ Manage Resource คือ อะไร ? คือ ทรัพยากรที่เราสามารถจัดการได้ ได้แก่ Code ที่เขียนด้วย .Net Library ที่ตัว CLI สามารถเข้าถึงว่ามี Method อะไร มี Stack Call อย่างไร เป็นต้น ซึ่งมีน GC (Garbage Collect) นั้นสามารถที่จะจัดการได้ โดยเราอาจจะเรียกอีกอย่างเป็น Managed Memory Unmanage Resource คือ อะไร ? คือ ทรัพยากรที่เราไม่สามารถจัดการได้ ได้แก่ แล้วเรารู้ไปเพื่ออะไร ?…

Neural Network with WEKA รวมปัญหาที่เกิดขึ้น

ในระหว่างที่ทำตาม Workshop: Neural Network with WEKA หลายๆคนอาจจะประสบปัญหาในระหว่างการทำงาน ผมเลยได้รวมรวมข้อมูลไว้ ดังนี้ครับ ปัญหา Train and test set are not compatible สาเหตุ: เกิดจากไฟล์ .arff ของเรามีส่วนการประกาศ attribute ที่ไม่เหมือนกัน หรืออาจะมี Character บางตัวแปลกปลอมอยู่ในไฟล์ ฉบับภาษาอังกฤษ 1.Make sure that the train and test sets have EXACTLY the same attributes (fields),including last entry:@attribute Class {MED,MGL,RHB,EPD,JPA} 2.If the attribute descriptions appear to be identical but you still get the same error, you may have an invisible control character in one of the files. Remove the attribute descriptions from the test file and replace them with the attribute descriptions from the train file. That may help. 3.You can also run Weka from…

Neural Network with WEKA [Deploy Model]

เมื่อเราได้ Model แล้ว ขั้นตอนต่อไป คือ นำ Model ของเราไปใช้กับข้อมูลจริงๆ ที่อาจจะมาจากแบบสอบถาม, ข้อมูลการรายการซื้อ-ขาย เป็นต้น โดยในที่นี้เราจะมีข้อมูลของกลุ่มตัวอย่างที่ได้จากแบบสอบถาม เพื่อนำมาทำนายว่าพวกเขาเหล่านั้นซื้อจักรยาน หรือไม่ครับ เอกสารประกอบการทำ Workshop นะครับ [wpdm_file id=4] ข้้นตอนการทดสอบง่ายๆ ดังนี้ครับ เตรียมไฟล์ข้อมูลที่ได้ให้เป็น format ที่เหมาะสม คือ ไฟล์ .arff โดยสำหรับ Attribute purchaseBike เราไม่ทราบค่า ให้ใส่เป็น ? เพื่อบอกโปรแกรม ดังรูป นำไฟล์ที่ได้ไปทดสอบตาม Neural Network with WEKA [Deploy Model] โดยทำตามขั้นตอนเฉพาะข้อที่ 1 – 4 ครับ เมื่อทำข้อที่ 3 เสร็จคลิกขวาที่ Model เลือก Visualize Classify error จากนั้นกด save จากนั้นมาเปิดดูด้วย arffViewer เพื่อหา predictedpurchaseBike โดยสังเกตุคอลัมน์ที่ขึ้นต้นด้วยคำว่า predicted ชื่อ attribute โดยเราสามารถดูผลลัพธ์ได้ ดังรูป หากต้องการข้อมูลเพิ่มเติม ก่อนขั้นตอน Re-evaluate model on current test set ให้ทำการเลิอก more option และตั้งค่าเพิ่มเติม ดังรูป เมื่อลองทดสอบข้อมูลอีกครั้ง เราสามารถดูรายละเอียดการทดสอบได้ ลองสังเกตุผลลัพธ์ [YES, NO] กับค่า Probability ดูนะครับ

เปิดไฟล์จาก Visual Studio เวอร์ชั่นสูงๆ ด้วย Visual Studio 2010

Visual Studio

บางครั้ง เราต้องการดูโครงสร้างของโปรแกรมที่ทำด้วย Visual Studio เวอร์ชั่นสูงๆ แต่เรามีเพียงแค่ Visual Studio 2010 เท่านั้น วันนี้ผมมีวิธีแก้ไขค่า Config นิดหน่อยเพียงให้เราสามารถเปิดดูได้ ใช้อ่าน และไล่ Code ดูได้ครับ ส่วนที่ 1 แก้ไข Solution File(.sln)เปิด Solution File ด้วยโปรแกรม Text Editor เช่น Notepad++ จากนั้นแก้ส่วนหัวของ Solution File ส่วนที่ 2 แก้ไข Project File (.csproj หรือ .vbproj)เปิด Project File ด้วยโปรแกรม Text Editor จากนั้นให้แก้ TargetFrameworkVersion ให้เหมาะสม เช่น ถ้าใช้ Microsoft Visual Studio 2010 ให้แก้ TargetFrameworkVersion เป็น 4.0 แทน หมายเหตุ:

Set an alternative Visual Source Safe diff tools

หลายครั้งที่ลองใช้ตัว Diff ไฟล์ของ Visual Source Safe แล้วพบว่ามันห่วยมาก 5555 ทั้งมีปัญหาตัวพิม์เล็ก-ใหญ่ บราๆ วันนี้ผมวิธีการ Set ให้ Visual Source Safe เรียกใช้ Diff Tools ตัวอื่นๆได้ครับ โดยทำตามวิธีการ ดังนี้ Login เข้าโปรแกรม Visual Source Safe ไปที่ Menu Tools >> Options เลื่อนไปหา Tab “Custom Editors” จากนั้นกำหนดค่า ดังนี้ Operation: เลือกเป็น File Difference File Extension: กำหนดเป็น “.*” (ไม่ต้องใส่เครื่องหมายคำพูด) โดยค่าที่กำหนดนี้ หมายถึง ไฟล์ทุกนามสกุล Command Line: Path ที่ใช้เรียกตัว Diff Tools ตัวอื่นขึ้นมา โดยผมได้ลอง 2 โปรแกรม ดังนี้ ถ้าเป็นโปรแกรม WinMerge ให้กำหนดค่า ดังนี้ C:\Program Files\WinMerge\WinMergeU.exe /e /x /wl /wr %1 %2 ถ้าเป็นโปรแกรม ProjectDiff ให้กำหนดค่า ดังนี้ C:\Program Files\Totato\ProjectDiff\ProjectDiff.exe -c /t:t %1 %2 /r:”icc|ite|ieol” จากนั้นกด ADD เลยครับ หมายเหตุ: Config นี้ต้องทำในแยกในแต่ละ Visual Source Safe Database ครับ ส่วน Path ของโปรแกรม ถ้าเป็น Windows…

[JAVA] Access Modifier ของ Class/Method แต่ละตัวเหมือน หรือต่างกันอย่างไร

Q: public, private, protect ที่เราใช้ใน Class และ Method ต่างๆ มันเหมือน หรือ แตกต่างกันอย่างไรA: จะแยกตอบที่ละอันตามนี้ เดี๋ยวของเพิ่ม default (เกิดจากการที่เราไมได้กำหนด Access Modifier ให้กับ Class/Method) ลงไปด้วยและกัน- private >> ใช้ได้เฉพาะ class มันเองเท่านั้น- protect >> ใช้ได้เฉพาะ Class แม่(Super Class)กับ Class ลูก(Sub Class) ใช้ได้เท่านั้น- default >> ใช้ได้เฉพาะ Package เดียวกันเท่านั้น- public >> ใช้ได้หมด