ถามเกี่ยวกับ Function Express Report new Version

โพสต์แล้ว:
จันทร์ ธ.ค. 19, 2011 2:34 pm
โดย Kathawut
อยากทราบ function ที่ใช้ใน Express Report New Version
เกี่ยวกับ function ที่ช่วยคำนวณ ในการถอด String ออกมา
คือ ถ้าเทียบกับ VB ก็ประมาณ Instr() ครับ
จุดประสงค์เพื่อช่วยในการดึงค่า ส่วนลดใน รายการสินค้า ของใบสั่งขาย
เพราะส่วนลดเก็บเป็นค่า String 10 ตัวอักษร พยายามใช้ Substr()
ช่วยแต่ด้วยว่ามันลำบาก เพราะมันต้องฟิกไว้ตายตัว หากส่วนลดแต่ละรายการไม่เท่ากัน
ก็ยุ่งกันใหญ่ พอจะมีวิธีทำ หรือประยุกต์ใช้หรือไม่ กรุณาแนะนำถ้าได้ Report ตัวนี้จะช่วยบริษัทผมได้มากเลยครับ
Re: ถามเกี่ยวกับ Function Express Report new Version

โพสต์แล้ว:
อังคาร ธ.ค. 20, 2011 12:15 am
โดย suchai
Function ที่สามารถใช้ในโปรแกรม Express ได้ส่วนใหญ่จะเหมือนๆกับ FOXPRO
ส่วนแบบฟอร์มรายงานแบบดั้งเดิมและแบบปรับฟอร์นได้ (New Report) ต่างก็ยังใช้ Function การคำนวณที่เหมือนกันอยู่ เพียงแต่รูปแบบในการใช้งานและการแสดงผลแตกต่างกัน
ทีนี้พูดถึงช่อง ส่วนลด รายการสินค้า ของใบสั่งขาย ทำไมชนิดข้อมูลถึงเป็นตัวอักษร ไม่เป็นตัวเลขเสียเลย คำตอบก็คือ ถ้าเป็นแต่ตัวเลข เวลาเราใส่ส่วนลดเป็น 20% หรือส่วนลดซ้อน +5+4+3 จะทำไม่ได้ พวกนี้ไม่ใช่ตัวเลข โปรแกรมมันฉลาดสุดๆ หยิบเอาค่าตัวอักษรไปเขียนคำนวณต่อ ตรงนี้เป็นความสามารถในตัวโปรแกรมเอง ตรงช่องส่วนลดที่เราเห็นในตารางรายการจะเป็น DISC ชนิดตัวอักษรขนาด 10 ตัวอักษร แต่ [color=red]โปรแกรมจะมี DISCAMT เป็นมูลค่าส่วนลดรวม อันนี้เป็นตัวเลข และก็มี TRNVAL เป็นจำนวนเงิน
เราสามารถนำ QTY UNITPR DISCAMT และ TRNVAL มาคำนวณหามูลค่าส่วนลด/หน่วย ในทางคณิตศาสตร์แล้ว สามารถทำออกมาได้หลายวิธี
แต่ถ้าในช่องส่วนลดต่อรายการไม่มีการใช้เครื่องหมาย % หรือ + เพื่อทำเปอร์เซ็นต์และส่วนลดหลายชั้นแล้ว และการใส่ค่าส่วนลดโดยใส่ค่าลงไปจะสังเกตุว่าโปรแกรมไม่ใส่เครื่องหมาย , ให้ เงื่อนไขเหล่านี้โปรแกรมจะเขียนเงื่อนไขในการนำไปคำนวณค่าแล้วใส่ผลลงในค่าของ TRNVAL เวลาเราจะให้แบบฟอร์มคำนวณค่าของส่วนลดออกมาเป็นตัวเลข เช่น หน้าจอใส่ 1600.00 เราจะใช้ Function ในการไปคำนวณค่า แบบนี้ ------> VAL(OESOIT->DISC) จะได้ค่านี้เท่ากับตัวเลข 1,600 บาท[/color]