สมัครสมาชิก
 

สอบถามการทำ RunID Invoice ในกรณีที่มีผู้ใช้งานพร้อมกันหลายๆคน



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

09 ม.ค. 62 , 16:21:50
อ่าน 336 ครั้ง

pasitsoft

ตัวอย่าง เช่น INV-0000001 และ +1 ไปเรื่อยๆ ทำอย่างไรไม่ให้เกิดโอกาศซ้ำกัน ในกรณีใช้งานพร้อมๆกัน

 

09 ม.ค. 62 , 23:51:24
ตอบกลับ #1

pizza_p

กำหนดให้เป็น Primary Key ถ้าเลขเดียวกันมันก็จะเพิ่มเข้าไปในตารางไม่ได้ จะเกิด Error แจ้งมา

 
โพสต์นี้ได้รับคำขอบคุณจาก: pasitsoft

10 ม.ค. 62 , 10:09:32
ตอบกลับ #2

OddyWriter

1. สร้างฟอร์มกรอกข้อมูลมา 1 ฟอร์ม โดยฟอร์มนี้ไม่ต้องมี Datasource โดยฟอร์มนี้ไม่ต้องใส่ Invoice ID
2. ใส่ปุ่ม Insert Data เข้าไปในตาราง เอาๆว้ในฟอร์มนี้
3. เมื่อคลิกปุ่ม Insert Data ก็ทำการ Generate Invoice ID โดยอ้างอิงจากข้อมูลที่มีอยู่ในตาราง

วิธีนี้ใครคลิกก่อนก็ได้เบอร์ก่อน ยิ่งถ้าใช้ระบบ LAN ในการทำงาน โอกาสจะเกิด Invoice ID ซ้ำแทบเป็นไปไม่ได้ เพราะมี Token Ring เป็นตัวควบคุม
:miao:
 
โพสต์นี้ได้รับคำขอบคุณจาก: aek, pasitsoft

13 ม.ค. 62 , 10:21:21
ตอบกลับ #3

pasitsoft

ขอบคุณครับท่าน OddyWriter

 
โพสต์นี้ได้รับคำขอบคุณจาก: udomchok

09 ก.พ. 62 , 10:42:05
ตอบกลับ #4

ศรี-นคร

การ Running เอกสารมีแนะนำในเว็บเก่าๆ ของ อ. สุภาพ ไชยา ครับ

ซึ่งในความเป็นจริง บางครั้งเราไม่สามารถใช้ AutoNumber มาเป็นเลขที่เอกสารได้ เนื่องจากบางความต้องการตัวอักษรมาเพิ่มเข้าไปในเอกสารเพื่อแยกหมวดหมู่หรือแผนก

แต่ตัวอย่างที่ของ อ. สุภาพ ไชยา มีจุดบอด 2 จุดด้วยกัน
- ในจังหวะที่มีการ Add รายการใหม่ของ USer พร้อมกัน ทุกคนจะได้เลขที่เอกสารเลขที่เดียวกัน เพราะตอนที่ Form ของแต่ละ User ร้องขอเลขที่ล่าสุดนั้น ไปมองเลขที่ล่าสุดในขณะนั้น ในจังหวะเดียวกัน จึงได้เลขที่เดียวกัน
- ในกรณีที่มีการลบเลขที่เอกสารเลขที่ล่าสุด และคีร์เพิ่มใหม่เข้าไปอีกครั้ง จะได้เลขที่เดิม ซึ่งบางบริษัทไม่ต้องการเช่นนั้น เพราะอาจจะทำให้เกิดความผิดพลาดเรื่องการยกเลิกเลขที่เอกสารที่ได้มีการยกเลิกไปแล้วได้

สามารถแก้ไขจุดบอดที่ว่านี้ได้โดยสร้าง Table กลางขึ้นมาอันหนึ่งเพื่อเก็บ Running เลขที่เอกสารล่าสุดไว้เวลาที่ User แต่ละคนร้องขอเข้ามา แทนที่จะไปมองที่ Table ที่เก็บข้อมูล โดยเมื่อ User แต่ละคนร้องขอเลขที่เอกสารเข้ามาก็จะมามองที่ Table นี้ก่อน แล้วจึงเอาเลขที่ที่ได้นี้ไปตรวจสอบซ้ำใน Table ที่เก็บข้อมูลกันเหนี่ยว เพือให้ได้เลขที่ล่าสุดจริงๆ ในขณะนั้น เพราะหากมีการ Restore ข้อมูลกลับ จะได้เลขที่เอกสารล่าสุด Run ต่อเนื่องกันไป หรือมีการลบข้อมูลบางส่วนออกไปแล้วเผอิญว่า เป็นเลขที่ล่าสุดที่บันทึกไว้

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



เพื่อให้เห็นภาพ ซึ่งใครจะไปจำว่าแต่ตัวซื้อมาเมื่อไหร่


 


บอร์ดเรียนรู้ Access สำหรับคนไทย