โดย ASAN » พฤหัสฯ. ม.ค. 22, 2009 9:45 am
- N1 กับ ชม มีค่าเท่ากัน ซึ่งสามารถใช้รายงานได้ทุกตัวที่มีรหัสลูกค้าปรากฏ แต่ถ้าจะให้ดี ผมว่าใช้รหัสไปรณีย์ขึ้นหน้าดีกว่าเช่น เชียงใหม่ขึ้นต้นด้วย 50000 เชียงราย 57000 แพร่ 54000 เอาแค่ 2 ตัวแรก เข้าไปรวมในรหัสลูกค้า ดังนี้.-
50-XXX หรือ 50XXX ขึ้นอยู่กับการจัดรูปแบบ เวลาสั่งพิมพ์รายงาน กำหนดจากรหัส 50 ขึ้นต้นตัวแรก ถึง รหัส 50 ขึ้นต้นตัวสุดท้าย แค่นี้ก็จะได้เชียงใหม่ทั้งจังหวัดแล้วครับ
* การกำหนดค่าสำคัญๆ ให้รวมอยู่กับรหัสลูกค้า จะมีข้อดีเป็นอย่างมาก เพราะรหัสลูกค้าจะปรากฏอยู่ในระบบฐานข้อมูล ที่เป็นรายการเคลื่อนไหว หรือ Transaction แทบจะทุกไฟล์ ดังนั้นจะทำให้เราสามารถนำฟิลด์รหัสลูกค้า มาสร้างรายงานในภายหลังได้สะดวกมากยิ่งขึ้น
* การนำรหัสไปรณีย์ อยู่หลังรหัสลูกค้าเช่น XXX-50 หรือ XXX50 จะทำให้การใช้รายงานยุ่งยากขึ้น เพราะต้องทำตัวกรองเพิ่มขึ้นด้วย เวลากำหนดค่าการพิมพ์ ก็จะเสียเวลามากขึ้น แต่สำหรับที่บริษัทผมทำงานอยู่ จะใช้วิธีวางรหัสไปรษณีย์อยู่หลังสุดแบบนี้ เนื่องจากว่า ด้านหน้ามีการ Run รหัสลูกค้าไว้เรียงลำดับเลขไปเรื่อยๆ ซึ่งตามใจฝ่ายขายที่เขาต้องการแบบนั้น และเพื่อสะดวกในการดูยอดลูกค้าทั้งหมด เวลาดูรายงานที่ต้องการคัดเลือกเป็นพิเศษอย่างที่คุณต้องการอยู่นี้ ก็จะใช้รายงานที่สร้างใหม่ แล้วใช้ตัวเงื่อนไขเพิ่มขึ้นดังนี้
Condition=SUBSTR(CUSCOD,4,2)#'99' เป็นค่ามาตรฐานไว้ในรายงาน ซึ่งจะทำให้รายงานพิมพ์ได้ทุกรหัส เมื่อต้องการกรองเฉพาะเชียงใหม่ ให้เปลี่ยนค่าเป็น Condition=SUBSTR(CUSCOD,4,2)='50'
Select Page=OFF
Condition=SUBSTR(CUSCOD,4,2)#'99'
Select Paper=15_Inch, 8_Inch, Default
8_Inch=\027\033\004
** การกำหนดรหัสแบบหลังสุดนี้ รหัสลูกค้าจะต้องมีความยาวเท่ากันทุกคนด้วยนะครับ มิฉะนั้นงั้นรายงานจะเช็คไม่พบ
** (CUSCOD,4,2) หมายถึง ให้โปรแกรมอ่านค่าจากฟิลด์รหัสลูกค้า และให้เริ่มตรวจสอบค่าจากอักขระลำดับที่ 4 และนับไปอีก 2 อักขระ มีค่าเท่ากับ '99' หรือค่าที่คุณกำหนดในเครื่องหมายคำพูด
แก้ไขล่าสุดโดย
ASAN เมื่อ พฤหัสฯ. ม.ค. 22, 2009 6:16 pm, แก้ไขแล้ว 1 ครั้ง