การ Running เอกสารมีแนะนำในเว็บเก่าๆ ของ อ. สุภาพ ไชยา ครับ
ซึ่งในความเป็นจริง บางครั้งเราไม่สามารถใช้ AutoNumber มาเป็นเลขที่เอกสารได้ เนื่องจากบางความต้องการตัวอักษรมาเพิ่มเข้าไปในเอกสารเพื่อแยกหมวดหมู่หรือแผนก
แต่ตัวอย่างที่ของ อ. สุภาพ ไชยา มีจุดบอด 2 จุดด้วยกัน
- ในจังหวะที่มีการ Add รายการใหม่ของ USer พร้อมกัน ทุกคนจะได้เลขที่เอกสารเลขที่เดียวกัน เพราะตอนที่ Form ของแต่ละ User ร้องขอเลขที่ล่าสุดนั้น ไปมองเลขที่ล่าสุดในขณะนั้น ในจังหวะเดียวกัน จึงได้เลขที่เดียวกัน
- ในกรณีที่มีการลบเลขที่เอกสารเลขที่ล่าสุด และคีร์เพิ่มใหม่เข้าไปอีกครั้ง จะได้เลขที่เดิม ซึ่งบางบริษัทไม่ต้องการเช่นนั้น เพราะอาจจะทำให้เกิดความผิดพลาดเรื่องการยกเลิกเลขที่เอกสารที่ได้มีการยกเลิกไปแล้วได้
สามารถแก้ไขจุดบอดที่ว่านี้ได้โดยสร้าง Table กลางขึ้นมาอันหนึ่งเพื่อเก็บ Running เลขที่เอกสารล่าสุดไว้เวลาที่ User แต่ละคนร้องขอเข้ามา แทนที่จะไปมองที่ Table ที่เก็บข้อมูล โดยเมื่อ User แต่ละคนร้องขอเลขที่เอกสารเข้ามาก็จะมามองที่ Table นี้ก่อน แล้วจึงเอาเลขที่ที่ได้นี้ไปตรวจสอบซ้ำใน Table ที่เก็บข้อมูลกันเหนี่ยว เพือให้ได้เลขที่ล่าสุดจริงๆ ในขณะนั้น เพราะหากมีการ Restore ข้อมูลกลับ จะได้เลขที่เอกสารล่าสุด Run ต่อเนื่องกันไป หรือมีการลบข้อมูลบางส่วนออกไปแล้วเผอิญว่า เป็นเลขที่ล่าสุดที่บันทึกไว้
เมื่อทาง User กดปุ่มบันทึกก็จะเอาเลขที่เอกสารเลขที่ล่าสุดไป Save ไว้ที่ Table กลางด้วยเพื่อใช้ในการอ้างอิงในครั้งต่อๆ ไปในการ Run เลขที่เอกสาร
ภาพประกอบคำอธิยาย กลุ่มตัวอักษรกลุ่ม S ซึ่งจะเห็นว่า มีการแยกปีแยกเดือนเข้ามาด้วยเพราะเลขที่บางอย่างผูกก็เอกสารต้นขั้วที่เกิดขึ้นใน ปีนั้น+เดือนนั้น แล้วอาจจะไม่การย้อนกลับมาแก้เอกสาร
คือ นี้คือตัวอย่างจริงที่ผม Run เลขที่บาร์โค๊ดในระบบคลังสินค้าที่บริษัท คือเวลาที่เราดูบาร์โค๊ดเราก็จะทราบทันทีว่า วัตถุดิบตัวนี้ซื้อมาเมื่อไหร่ หรือs,fอายุหรือยังไม่ต้องวุ่นวายค้นเอกสารต้นขั้ว เพราะของมีของเก่าของใหม่คละเคล้ากันในคลังสินค้า
เพื่อให้เห็นภาพ ซึ่งใครจะไปจำว่าแต่ตัวซื้อมาเมื่อไหร่