|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 | |
|
|
|
|
|
|
|
CR Report : Formula Function สำหรับ แสดงวันที่ภาษาไทย
ปกติแล้ว Crystral Report ในการ set format date นั้น สามารถเลือก format ปี เป็น ค.ศ. หรือพ.ศ. ได้ และ เดือนนั้น จะขึ้นกะ Regional ของเครื่ือง (หรือเปล่า ^^'')
ทีนี้สำหรับเครื่องที่แสดงผล date เป็น ปี ค.ศ. และ เดือนเป็นอังกฤษ (เซิร์ฟเวอร์ database T-T) หรืออะไรก็ตาม
พล่ามมาทำไมเนี่ย ว่าง่ายๆ ก็คือ เปนการเขียนฟังก์ชั่นใช้เอง ไม่ต้องแคร์เครื่อง
เปิด Crystral Report มาเลยครับ
1. เปิด Formula Editor สร้าง Function ขึ้นมาในส่วน Report Custom Fucntion ในรูปสร้าง toThaiDate
2. รายละเอียดใน Function
'เริ่มฟังก์ชั่น Function (datetimeVar d)
'เช็คเงื่อนไข ถ้าปี เป็น ค.ศ. เปลี่ยนเป็น พ.ศ. (+543) if(Year (d) <2500) then d := DateTime (Year (d)+543,Month (d) ,Day (d) ) else d;
'แปลง date to string ให้อยู่ใน format (อันนี้แล้วแต่ถนัด) Local StringVar y; y:= Totext(d,"dd MM yyyy");
' ทำการ replace เดือนที่เป็นหมายเลข 01-12 ด้วย คำที่ต้องการ '(ในที่นี้จะใช้ การค้นหา " 01 " ด้วย " มกราคม " แทนการใช้ "01" ' เนื่องจาก จะไปเจอวันที่ "01" เข้า >< หากใช้ format เป็น dd/MM/yyyy ' ก็จะเป็น Replace (y,"/01/","/มกราคม/") แทนครับ if(mid(y,4,2)="01") then Replace (y," 01 "," มกราคม ") else if(mid(y,4,2)="02") then Replace (y," 02 "," กุมภาพันธ์ ") else if(mid(y,4,2)="03") then Replace (y," 03 "," มีนาคม ") else if(mid(y,4,2)="04") then Replace (y," 04 "," เมษายน ") else if(mid(y,4,2)="05") then Replace (y," 05 "," พฤษภาคม ") else if(mid(y,4,2)="06") then Replace (y," 06 "," มิถุนายน ") else if(mid(y,4,2)="07") then Replace (y," 07 "," กรกฎาคม ") else if(mid(y,4,2)="08") then Replace (y," 08 "," สิงหาคม ") else if(mid(y,4,2)="09") then Replace (y," 09 "," กันยายน ") else if(mid(y,4,2)="10") then Replace (y," 10 "," ตุลาคม ") else if(mid(y,4,2)="11") then Replace (y," 11 "," พฤศจิกายน ") else if(mid(y,4,2)="12") then Replace (y," 12 "," ธันวาคม ") else y
'ค่าที่ return ออกมาจะเป็นค่า y ที่ถูก replace
3.วิธีเรียกใน formula ก็ใส่ชื่อ function & parameter เลยครับ
จบแล้วครับ
หวังว่าคงจะได้นำไปใช้กัน หรือเป็นตัวอย่างในการเขียน custom function ใช้เองกันนะครับ
ปล. อุ้ยพิมพ์ กรกฎาคม เป็น กรกฏาคม อายจัง
Create Date : 11 กรกฎาคม 2550 |
Last Update : 2 กันยายน 2551 23:28:51 น. |
|
9 comments
|
Counter : 7447 Pageviews. |
|
|
|
โดย: chengake วันที่: 11 กรกฎาคม 2550 เวลา:17:24:54 น. |
|
|
|
โดย: ninee IP: 58.137.7.234 วันที่: 24 กรกฎาคม 2551 เวลา:9:35:55 น. |
|
|
|
โดย: KOH IP: 58.9.50.114 วันที่: 24 พฤษภาคม 2552 เวลา:21:34:12 น. |
|
|
|
โดย: คุณคือสุดดวงใจเลยคร้าบ IP: 125.24.218.15 วันที่: 16 มิถุนายน 2552 เวลา:14:29:07 น. |
|
|
|
โดย: Modtanoy IP: 118.173.248.188 วันที่: 7 เมษายน 2553 เวลา:16:54:21 น. |
|
|
|
โดย: moo IP: 124.121.45.91 วันที่: 9 ธันวาคม 2553 เวลา:17:09:21 น. |
|
|
|
โดย: sardkajai IP: 124.122.251.124 วันที่: 6 พฤศจิกายน 2554 เวลา:1:32:36 น. |
|
|
|
โดย: Tor IP: 110.77.234.31 วันที่: 23 มีนาคม 2555 เวลา:17:53:56 น. |
|
|
|
| |
|
|