คำถามเกี่ยวกับ การออก report ไปยัง excel VS STR function

หากท่านใดมีข้อสงสัยหรือคำถามเกี่ยวกับการใช้งานโปรแกรม Express สามารถเข้ามาสอบถามได้ที่นี่ครับ

Moderator: Sutas, CO-Admin, Global Moderator

คำถามเกี่ยวกับ การออก report ไปยัง excel VS STR function

โพสต์โดย sarunnio » พฤหัสฯ. ม.ค. 03, 2013 12:06 pm

สืบเนื่องจากคำถาม 9698.0 ครับ
เรื่องเกี่ยวกับ จัดฟอร์แม็ต report เพื่อส่งออกไปยัง excel
ทุกอย่างโอเค ยกเว้น พาร์ทที่ว่า STR(seq)
ผม setup ตัวแปร seqval ให้ แสดงค่า space 9 ตำแหน่ง concat กับ seq

ที่ถูก แต่ละ line ควรจะแสดง '        1','        2', '        3'
มี space ด้านหน้า 9 หลัก

แต่ตอนนี้มันแสดง '          1','          2', '          3'
นั่นคือมี space ใส่เข้าไป 10 หลัก 

ผมตรวจสอบไปตรวจสอบมาปรากฏว่า ค่า ที่ return ออกมาจากฟังก์ชัน STR(seq) นั้นมัน return สตริงออกมา
สองหลัก คือ ' 1', ' 2' , ' 3' 
คำถามคือ ทำอย่างไร หรือต้อง เซ็ตตัวแปรอย่างไร จึงจะคืนค่าที่ผ่านฟังก์ชัน STR(seq) เป็น สตริงตัวอักษร character 1 หลักเท่านั้น : '1', '2', '3'

[Data Spec]
~I:        0,  "",                "",                "seq=0"
~N:        0,  "999",              "",              "seq=seq+1",A
~NEXP:  0,  "", "seqval","seq=seq+1;seqval='
sarunnio
Newbie
Newbie
 
โพสต์: 18
ลงทะเบียนเมื่อ: อังคาร พ.ย. 27, 2012 2:52 pm

Re: คำถามเกี่ยวกับ การออก report ไปยัง excel VS STR function

โพสต์โดย savek » พฤหัสฯ. ม.ค. 03, 2013 1:01 pm

ลองแก้ไขบรรทัดนี้นะครับ

~NEXP:  0,  "", "seqval","seq=seq+1;seqval='•••••••••'-STR(seq)",A

แก้ให้เป็นแบบนี้ครับ

~NEXP:  0,  "", "seqval","seq=seq+1;seqval='•••••••••'-SUBSTR(STR(seq,3,1)",A

ซึ่งหมายถึงให้ตัดตัวอักษรในตำแหน่งที่ 3 ออกมาแสดงเพียง 1 ตัวเท่านั้นครับ
ภาพประจำตัวสมาชิก
savek
Administrator
Administrator
 
โพสต์: 12467
ลงทะเบียนเมื่อ: พฤหัสฯ. พ.ย. 15, 2007 11:04 am

Re: คำถามเกี่ยวกับ การออก report ไปยัง excel VS STR function

โพสต์โดย sarunnio » พฤหัสฯ. ม.ค. 03, 2013 1:34 pm

[quote="savek"]
ลองแก้ไขบรรทัดนี้นะครับ

~NEXP:   0,  "", "seqval","seq=seq+1;seqval='
sarunnio
Newbie
Newbie
 
โพสต์: 18
ลงทะเบียนเมื่อ: อังคาร พ.ย. 27, 2012 2:52 pm

Re: คำถามเกี่ยวกับ การออก report ไปยัง excel VS STR function

โพสต์โดย savek » พฤหัสฯ. ม.ค. 03, 2013 1:54 pm

ลองแก้ไขเป็นแบบนี้อีกทีนะครับ

~NEXP:  0,  "", "seqval","seq=seq+1;seqval='•••••••••'-LTRIM(STR(seq)",A

โดยฟังก์ชั่น ltrim จะตัดช่องว่างด้านซ้ายทิ้งไปครับ
ภาพประจำตัวสมาชิก
savek
Administrator
Administrator
 
โพสต์: 12467
ลงทะเบียนเมื่อ: พฤหัสฯ. พ.ย. 15, 2007 11:04 am

Re: คำถามเกี่ยวกับ การออก report ไปยัง excel VS STR function

โพสต์โดย sarunnio » พฤหัสฯ. ม.ค. 03, 2013 2:00 pm

[quote="savek"]
ลองแก้ไขเป็นแบบนี้อีกทีนะครับ

~NEXP:   0,  "", "seqval","seq=seq+1;seqval='
sarunnio
Newbie
Newbie
 
โพสต์: 18
ลงทะเบียนเมื่อ: อังคาร พ.ย. 27, 2012 2:52 pm


ย้อนกลับไปยัง ถาม-ตอบปัญหาเกี่ยวกับโปรแกรม Express

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 31 ท่าน