บทความ

Run As (ขอใช้สิทธิ อื่นในการทำงาน)

รูปภาพ
ปกติ คำแนะนำของ ผู้เชี่ยวชาญ ทางด้าน ความปลอดภัย ของระบบคอมพิวเตอร์ (Computer Security) จะแนะนำว่า ในการใช้งาน computer โดยทั่วไป ให้ใช้ user account ที่มีสิทธิ การทำงาน เพียง แค่ ระดับ user ธรรมดา (normal user) ก็เพียงพอ ต่อการใช้งานแล้ว และ จะปลอดภัย จาก ภัยอันไม่พึงประสงค์ อีกด้วย เช่น พวก virus หรือ spyware ที่ จะแฝงตัว มาตาม application ที่เราใช้งาน เช่น Internet Explorer หรือ Browser นั่นเอง แต่โดยทั่วไปแล้ว ไม่เป็นอย่างนั้น เนื่องจาก ความ ไม่รู้ ความขี้เกียจ หรือ ความอยากเป็น ใหญ่ในระบบ ตลอดเวลา คือ ก็ใช้งาน ด้วยสิทธ Administrator ตลอดเวลา เพื่อง่ายต่อ การติดตั้งโปรแกรม หรือ แก้ไข Config ของระบบ แต่ถ้าเรามองให้ดี ส่วนใหญ่เราจะไม่ค่อยลงโปรแกรมกันบ่อยๆ หรอกครับ หรือ จะ แก้ไข Config อะไรทุกวัน ถ้าเราไม่ใช่ Software tester หรือ System Configurator อะไรพวกนั้น ปกติ เราเปิดเครื่อง ใช้งาน application และ ก็ shutdown ก็แค่นั้น นะ ฉะนั้น สิ่งที่ผมจะแนะนำคือ ใช้สิทธิ user ในการทำงาน แต่ถ้าต้องการติดตั้งโปรแกรม ก็ใช้ Utility Run As เข้ามาช่วย Run As เป็น Utility ที่มีให้ใช้งานใน windows เป...

Coding C# Write Excel file HTML format

จากครั้งที่แล้ว ที่พูดถึง concept กันไปแล้วเรื่อง write เป็น excel ด้วย html code นะครับ คราวนี้มาดู การ code กันครับ ขอแสดงตัวอย่างก่อน เราจะ ให้ output มีการแสดงผลแบบนี้ คือ Product id Product Name Price 1 Product1 2000 2 Product2 2500 ดังนั้น เราต้องเขียน code html แบบนี้คือ <table style =' width : 318px; height : 124px;' border ='1' cellpadding ='0' cellspacing ='0' > <tbody> <tr> <th> Product id </th> <th> Product Name </th> <th> Price </th> </tr> <tr> <td style ='text-align: center;' > 1 </td> <td> Product1 </td> <td style ='text-align: right;' > 2000 </td> </tr> <tr> <td style ='text-align: center;' > 2 </td> <td> Product2 </td> <td style ='text-align: right;' > 2500 </td> </tr> </tbody></table> ดังนั้น ผม จะ แสดงตัวอย่าง code ให้ดูคือ StringBu...

Write Excel File With C#

หลายท่านที่เขียน โปรแกรม ย่อมเคยมีแหละ ว่า บรรดา user ต้องการ report เป็น Excel ไฟล์ มีหลายๆ Solution ที่สามารถ ทำได้ ผมจะกล่าวถึง excel ใน version 97-2003 (นามสกุล .xls) ก่อนนะครับ 1. วิธีแรก คือ ใช้ COM+ (Interop) แต่ วิธีนี้ ในตอนพัฒนาโปรแกรม และ เครื่องที่จะใช้งาน ต้องมี การ Install Excel ด้วย ถึงจะสามารใช้งานได้ และ ติดตรงที่ Version ของ Excel ที่ใช้ต้องตรงกันด้วย 2. การใช้ Write Text ในรูปแบบ CSV ก็ได้การแสดงผล ในรูปแบบ Text ก็มีปัญหาในการแสดงผล หรือการจัดรูปแบบให้สวยงามได้ยาก 3. การใช้ Crystal Report ช่วย เนื่อง จาก ตัว Crystal Report มี Function ในการ Export ในรูปแบบ Excel ได้ แต่ก็ ติดในส่วนของ License ในตัว Developer ถ้า ท่านมีการใช้งาน Crytal Report อยู่แล้ว ก็ไม่น่ามีปัญหาอะไร 4. ใช้การ Write file ในรูปแบบ HTML Format แล้ว Save ออกไปใน File .xls ซึ่ง วิธีนี้ เป็นวิธีที่ผมจะ มานำเสนอ ในตอนนี้ เนื่องจาก ตัว Programmer เอง ไม่จำเป็นต้องใช้ Driver หรือ Component อื่นๆ มาช่วยเลย ยกเว้นแค่ ความรู้เรื่อง ภาษา HTML เล็กน้อยเท่านั้นเอง และ ที่เหลือก็แค่ Test ด้วย Browser เพื่อดูผลล...

พลุ งานวันพ่อ ปี 2551 ที่สวนหลวง ร.9

รูปภาพ
ผมเขียน แต่บทความเกี่ยวกับการ coding มา ก็มากแล้วครับ บางทีมันก็เบื่อๆ เหมือนกัน มาลองเขียนบทความ แบบ จรรโลงใจ กันบ้างก็ดีนะครับ ช่วงนี้ใกล้วันพ่อ แล้ว ผมมี video clip ที่ผมถ่ายเอง ในงาน วันพ่อ แห่งชาติ ปี 2551 มาให้ดู เวลา เกือบ 10 นาที เนื่องจากไฟล์ มันใหญ่ ผมจะขอ ตัดไฟล์ออก เป็นส่วนๆ เพื่อง่ายต่อการ upload ดูแล้วเพลินดีครับ ทำให้อยากดู อีก ยิ่งปีนี้ ทาง รัฐบาล มีการจัดงานเฉลิมฉลองใหญ่ ยิ่งอยากดูครับ ขอเวลา Upload วันนึงครับ เดี๋ยว พรุ่งนี้ ได้ดูแน่ครับ เอาภาพนิ่งไปดูก่อน .. อย่าลืม เข้ามาดูละครับ..

SQL Command Convert multiple rows to one row csv format

ไม่แน่ใจว่า แต่ละท่านเคยเจอ โจทย์แบบว่า แปลง ข้อมูลจากที่เก็บข้อมูล เป็น row base แปลงเป็น 1 column โดย ให้ขั้นข้อมูลระหว่าง row ด้วย comma หรือไม่ เช่น ตัวอย่าง การหาว่า แต่ละวัน มีการขายสินค้าอะไรไปบ้าง สรุปเป็นวันๆ โดยในวันนั้นๆ ให้แสดง ผลว่า มีรายการสินค้าอะไรบ้าง ในรูปแบบ รหัสสินค้า คั่น ด้วย comma คล้ายๆ csv format (comma separate value) ข้อมูลต้นฉบับ เก็บเป็น record จำนวน 1 record เก็บข้อมูลดังนี้ วันที่ | รหัสสินค้า|จำนวน 1/2/09 | 1 | 5 2/2/09 | 1 | 10 1/2/09 | 2 | 10 2/2/09 | 2 | 15 1/2/09 | 3 | 10 2/2/09 | 3 | 10 3/2/09 | 3 | 10 1/2/09 | 4 | 10 อยากได้ผลลัพธ์ สรุปเป็น วันๆ ดังนี้ วันที่ | รหัสสินค้า 1/2/09 | 1,2,3,4 , 2/2/09 | 1,2,3 , 3/2/09 | 3 , วิธีการทำก็คือ การ select ข้อมูลให้อยู่ในรูปแบบ string หรือ (varchar,nvarchar) ขนาดใหญ่ โดยให้คุณเขียน function มา 1 ตัว ในการ แปลง multirow เป็น one row csv format กรณี SQL 2005 สามารถใช้ SELECT FOR XML PATH ไ...

Function DateFormat สำหรับ Crystal Report 2008

ในการ เขียน report ต้องมีอยู่แล้ว ว่าต้องการ set format วันที่ให้เป็นไปตามต้องการ โดยไม่ต้องไม่ยุ่งกับ regional setting แน่นอนต้องเขียนขึ้นมาใช้เอง เพราะว่า function ใน crystal report มัน ไม่ได้เขียนมาเพื่อคนไทย ดังนั้น อยากได้แบบไหนก็ต้องเขียนเอง ตัวอย่าง ที่ผมจะนำมาให้ดู ก็เป็น function date format รับ parameter 3 ตัว คือ 1. วันที่ (วันที่ ที่ต้องการแปลง) 2. รูปแบบ (รูปแบบที่ต้องการ) 3. ตัวคั่น (ตัวคั่น ระหว่าง วัน เดือน ปี) มาดู Code กันเลยครับ Function ( datevar d, StringVar style, StringVar separator ); ( // Crystal Report Custom function // Date String // By Narong Sungkhamalai SELECT (style) //American Long CASE "al" : ( Select ( Month (d)) Case 1 : "January" Case 2 : "February" Case 3 : "March" Case 4 : "April" Case 5 : "May" Case 6 : "June" ...

T-SQL, Function End of Month

เหมือนเดิม function ที่น่าจะต้องใช้บ่อยๆ ครับ คือ function End Of Month หรือ หาวันสิ้นเดือน ครับ ก็ไม่ยากอะไรหรอกครับ แต่มันก็ใช้บ่อยๆ เขียนไว้ใช้ ก็สะดวกดี ไม่จำเป็นต้องเขียนใหม่ทุกครั้ง สิ่งที่ต้องการ คือ ป้อน input เป็น วันที่ แล้ว return เป็น วันที่สิ้นเดือน ของเดือน นั้น หลักการที่ผมใช้คือ 1. หาวันที่ 1 ของเดือน ของวันที่ input 2. บวก ไป 1 เดือน ได้วันที่ 1 ของเดือนถัดไป 3. ลบ 1 วัน ได้วันสิ้นเดือน ของ วันที่ input แค่นี้ครับ ต่อไป มาดู code T-SQL กันครับ เอาตาม concept ที่ว่า ไม่ได้ พลิกแพลงอะไรมากครับ ส่วนใครจะเอาำไป optimize อย่างไร ไม่ว่ากัน อันนี้เป็น Code ของ SQL Server 2005 ใน code จะมีการ set เวลา ให้เป็น 0:00 ด้วยครับ CREAT FUNCTION [app_main].[fnEndOfMonth] ( @dateint smalldatetime ) RETURNS smalldatetime AS BEGIN -- Declare the return variable here DECLARE @DOut smalldatetime --for output date DECLARE @d int --for day DECLARE @h int --for hour DECLARE @m int --for minute -- Add the T-SQL statements to compute the retur...