บทความ

ถั่วลิสง ไม่ดี

รูปภาพ
ไม่ใช่เฉพาะถั่วลิสงเท่านั้นนะครับ แต่รวมความหมายถึงพืชตระกูลถั่วต่าง ๆ (legumes) เช่น ถั่วเหลือง ถั่วแดง ถั่วแขก เป็นต้น ถั่วลิสงมีข้อดีหลายอย่าง แต่ก็มีข้อควรระวังไว้ด้วย   ในสภาพที่ยังดิบ พืชตระกูลถั่วมีธรรมชาติเป็นพิษ (toxic) คือ กินดิบไม่ดี ถั่วจะมีประโยชน์ดีต้องผ่านกระบวนการทำสุก ทำให้งอก หรือหมักดองเสียก่อน เช่น ต้ม นึ่ง ทำเป็นเต้าเจี้ยว เพาะเป็นถั่วงอกเป็นต้น ซึ่งจะช่วยลดสาร  lectin และ phytate ที่มีอยู่ในอาหารหลายชนิด แต่มีมากในถั่วต่าง ๆ ให้ลดน้อยลง Lectin จะไปกำจัดเมือก (mucous) ในลำไส้เล็ก ซึ่งทำหน้าที่ช่วยปกป้องเนื้อเยื่อ และในที่สุดก็จะส่งผลให้เกิดโรคภูมิแพ้ (autoimmune diseases) นอกจากนี้ lectin ยังทำให้เกิดอาการอาหารเป็นพิษได้อีกด้วย สำหรับ Phytate หรือกรดไฟเตท เป็นตัวต้านการดูดซึมแคลเซี่ยม แมกนีเซียม ธาตุเหล็ก และสังกะสี ซึ่งเชื่อว่าเป็นเหตุของโรคกระดูกพรุน (osteoporosis) นอกจากนี้ กรดไฟเตทยังขัดขวางการทำงานของน้ำย่อยในการย่อยอาหาร เช่น pepsin และ amylase เป็นต้น ข้อเสียของถั่วลิสงอย่างหนึ่งก็คือ มีสาร aflatoxins ซึ่งเพิ่มความเสี่ยงต่อโรคมะเร็ง  อีกด้วย ป

Msgbox อ่านไม่ออก ไม่แสดงภาษาไทย ใน Access 2010 Windows 7

รูปภาพ
ใช้ VBA เขียนโค้ด เรียกให้แสดง message box โดยใช้ MsgBox() แสดงข้อความแต่อ่านไม่ออก ไม่เป็นภาษาไทย ดังภาพ สาเหตุ ต้นเหตุไม่ได้อยู่ที่ Access 2010 แต่เป็นที่ Windows ที่ตั้งค่าภาษา ที่ไม่ใช่ Unicode โดยไม่ได้ตั้งให้เป็นภาษาไทย วิธีการแก้ไข 1.ไปที่ ปุ่ม Start > Control Panel (แผงควบคุม) 2. เลือก Clock, Language, and Region เพื่อเปลี่ยนภาษา 3. เลือก Change display language 4. ไปที่แถบ Administrative ที่ส่วน Language for Non-Unicode Program จะเห็นว่าไม่ใช่ภาษาไทย เช่น English (United States) 5. ให้คลิกปุ่ม Change system local... 6. เลือกภาษาไทย  Thai(Thailand) 7. กดปุ่ม OK 8. การเปลี่ยจะเกิดผลก็ต่อเมื่อมีการปิดและเปิด Windows ใหม่ เครื่องจะถามให้ปิดเครื่อง 9. ให้ตอบตกลง โดยคลิกปุ่ม Restart Now 10. เมื่อเปิด Windows ขึ้นมาใหม่ และใช้งาน Access 2010 ข้อความใน MsgBox จะเป็นภาษาไทย ดังภาพ

excel คำนวณวันเกษียณ ด้วย Datedif()

รูปภาพ
วันก่อน มีคนขอให้ช่วยเขียนสูตรสำหรับคำนวณ วันเกษียณ คำนวณอายุ คำนวณจำนวนระยะเวลาที่เหลือก่อนเกษียณ เป็นต้น เขาบอกว่าต้องทำให้กับคุณครูหลายคน คิดด้วยมือไม่ค่อยสะดวก พร้อมทั้งส่งแบบฟอร์มมาให้ด้วย โดยกำหนดวันตัวตั้งเอาไว้ สำหรับการคำนวณด้วย ผมรับปากว่าจะช่วย พอทำเสร็จคิดว่า น่าจะเป็นประโยชน์สำหรับคนที่ทำหน้าที่บุคลากร หรือเป็นแนวทางในการคำนวณเรื่องของอายุ ก็เลยนำมาไว้ที่นี่ ให้ ดาวน์โหลด กัน การคำนวณอายุ เราใช้ฟังก์ชัน Datedif() รูปแบบการใช้งาน มีดังนี้ =DATEDIF(Date1, Date2, Interval) Date1 คือ วัน เดือน ปี เริ่มต้น ข้อมูลต้องเป็นวันที่นะครับ เช่น 15/6/2551 ถ้าคำนวณหาอายุ ตัวนี้จะใช้เป็น วัน เดือน ปี เกิด Date2 คือ วัน เดือน ปี สิ้นสุด ถ้าคำนวณอายุ ตัวนี้ก็คือวันที่ในปัจจุบัน ส่วนมากจะใช้ฟังก์ชัน today() แต่ดูให้ดีนะครับ ถ้ากำหนดรูปแบบเป็นแบบตะวันตก ต้องบวกด้วย 543 แต่ถ้า Excel2010 กำหนดรูปแบบวันที่เป็นแบบไทย ปีพุทธศักราช ก็แล้วไป สำหรับในแบบฟอร์ม ใช้วันที่ที่กำหนดในเซลล E2 ก็เลยไม่ต้องวิตกเรื่องนี้ (แนะนำให้ ดาวน์โหลดไฟล์ มาศึกษาดูด้วยก็ดี) Interval เป็นรูปแบบที่

การใส่จุดหลังหัวข้อ ใน Excel 2010

รูปภาพ
โดยปกติ เราไม่สามารถใส่จุดหลังตัวเลขใน Excel ได้โดยตรง โดยเฉพาะในกรณีที่เราต้องการให้หัวข้อ ตัวเลขเรียงลำดับหัวข้อ ถ้ามีจุดต่อท้าย จะทำให้ดูง่ายขึ้น วิธีการใส่จุดหลังหัวข้อ ต้องไปกำหนดรูปแบบของเซลล์ที่ต้องการให้มีจุดตามหลังตัวเลข โดยเลือกเซลล์ที่ต้องการทั้งหมด จากนั้นจึงคลิกขวา เลือก จัดรูปแบบเซลล์ และเลือกรูปแบบ กำหนดเอง รูปแบบที่ต้องการคือ 0. ก็จะได้ จุดหลังตัวเลขในเซลล์ที่กำหนด ดูวีดีโอประกอบ นะครับ

การสลับเปลี่ยนแถวกับคอลัมน์ Excel ในกรณีที่เซลล์มีสูตร

รูปภาพ
การสลับเปลี่ยนแถวกับคอลัมน์ หรือ Transpose ใน Excel 2010 ทำให้เราทำงานได้รวดเร็วขึ้น ใช้ในหลายกรณี เช่น สลับแถวกับคอลัมน์ ในแผนภูมิ จะช่วยให้ดูแผนภูมิง่ายขึ้น ตรงตามจุดเน้น หรือการนำเสนอข้อมูล ในรูปตาราง ถ้าเปลี่ยนแถวเป็นคอลัมน์ ก็จะดูง่ายขึ้น การนำเสนอข้อมูลตารางนี้ ดูดีมาก ถ้าต้องการเปรียบเทียบผลงานการขายของแต่ละคน แต่ถ้าต้องการ ดูผลงานของแต่ละคน ว่ามีความก้าวหน้าอย่างไร ต้องสลับข้อมูลระหว่างแถวกับคอลัมน์ใหม่ ดังนี้ การสลับเปลี่ยนแถวกับคอลัมน์ใน Excel 2010 สามารถทำได้ง่าย โดยเลือกข้อมูล แล้วไปที่ วาง > วางแบบสลับเปลี่ยนแถวกับคอลัมน์ อย่างไรก็ตาม ถ้าเซลล์ที่ต้องการสลับระหว่างแถวกับคอลัมน์ เป็นข้อมูลธรรมดา เราสามารถทำได้ง่าย แต่ถ้าในเซลล์มีสูตร การอ้างอิงจะไม่ถูกต้อง ส่งผลให้ข้อมูลผิดพลาดไปด้วย การแก้ไขต้องกำจัดสูตรออกจากเซลล์ให้หมด แล้วจึงทำการสลับแถวและคอลัมน์ภายหลัง รายละเอียดดูได้จากวิดีโอนี้

การวิเคราะห์แบบสอบถามด้วย Excel

รูปภาพ
แบบสอบถามลักษณะ Rating scale สามารถวิเคราะห์ได้ด้วยโปรแกรม Excel โดยใช้สูตร countif() และการอ้างอิงเซลล์ (Cell Referencing) ทั้งแบบแน่นอน (Absolute Cell Referencing) แบบเชิงสัมพันธ์ (Relative Cell Referencing) และแบบผสม (Mixed Cell Referencing) แบบเชิงสัมพันธ์ (Relative Cell Referencing) คือไม่มีการ lock คอลัมน์ หรือแถว ตำแหน่งของ Cell จะเคลื่อนที่ตามตำแหน่งของเคอร์เซอร์ แบบแน่นอน (Absolute Cell Referencing) เป็นการ lock ทั้งแถวและคอลัมน์ เช่น $A$1 นั่นคือ Cell ที่ถูกเลือก จะไม่เปลี่ยนตำแหน่ง ไม่ว่าเคอร์เซอร์ จะเคลื่อนที่ไปยังที่ใดก็ตาม แบบผสม (Mixed Cell Referencing) เป็นการ lock เฉพาะแถว หรือ คอลัมน์ อย่างใดอย่างหนึ่ง เช่น $A1 (lock คอลัมน์)หรือ A$1 (lock แถว) ความสัมพันธ์ลักษณะนี้ ตำแหน่งของ Cell ที่ถูกเลือก จะเปลี่ยนแปลงตามตำแหน่งของเคอร์เซอร์ ขึ้นอยู่กับการ lock เช่น ถ้า lock แถว เมื่อตำแหน่งของเคอร์เซอร์เลื่อนลงไป ตำแหน่งของ Cell ที่ถูกเลือกจะไม่เปลี่ยน แต่ถ้า ตำแหน่งของเคอร์เซอร์เคลื่อนไปตามแนวนอน ตำแหน่งของ Cell ก็จะตามไปด้วย ตัวอย่างต่อไปนี้ เป็นการแสดงการวิเคราะห์แบบสอ

การหาข้อมูลในตารางหนึ่ง ที่ไม่มีในอีกตารางหนึ่ง ของ Access 2010

รูปภาพ
บางครั้งเราต้องการหาว่า ข้อมูลในตารางหนึ่ง ที่ไม่มีในอีกตารางหนึ่ง จะทำอย่างไร สมมติว่า มีข้อมูล 2 ตาราง คือ tblCode และ tblData ตาราง tblCode เก็บรหัสอำเภอ และ tblData เก็บข้อมูลที่ผู้ใช้ป้อนเข้ามา ซึ่งมีรหัสอำเภออยู่ด้วย จึงต้องตรวจสอบว่า อำเภอใน tblData มีอยู่ในตาราง tblCode หรือไม่ (ความจริงถ้าออกแบบดี ๆ กำหนดให้ผู้ใช้เลือกจากตัวเลือก จะได้ถูกต้อง และไม่เกิดข้อผิดพลาด ก็จะไม่ต้องมาหาว่า ข้อมูลที่พิมพ์เข้ามาพิมพ์ถูกหรือไม่) ตาราง tblCode ตาราง tblData จากตาราง จะเห็นว่า โพธาราม ในตาราง tblData ไม่มีในตาราง tblCode ในกรณีนี้ เราต้องการหาว่า ข้อมูลในตาราง tblData ที่ไม่มีในตาราง tblCode การหาลักษณะนี้ นอกจากจะหาชื่ออำเภอที่ไม่ปรากฏ ในอีกกรณีหนึ่งคือพิมพ์ชื่ออำเภอผิด เช่น บ้านไร่ พิมพ์เป็น บ้านไร (ลืมใส่ไม้เอก) ก็จะสามารถหาได้ ด้วยวิธีเดียวกันนี้ วิธีการ ให้สร้างแบบสอบถาม ชนิดเลือก (Select Query) และกำหนดความสัมพันธ์ของฟิลด์ที่ต้องการเป็นแบบ LeftJoin โดยให้รวมระเบียนทั้งหมดจากตาราง tblData และ เฉพาะระเบียนจาก tblCode ซึ่งมีเขตข้อมูลที่ใช้ในการรวมเท่ากัน จากความสัมพั