กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
343 2
URL.หัวข้อ /
URL
... รบกวนอาจารย์สุภาพเกี่ยวกับเรื่องรหัสพนักงานหน่อยครับ ...
คือ ปกติรหัสทั่วๆ ไป ก็จะเรียง 0001 0002 ... แบบเริ่มต้นอะไรประมาณนี้ใช่ไหมครับ ง่ายและสะดวกดี
แต่ที่นี้บริษัทมันมีหลายแผนกหลายตำแหน่ง ผมก็เลยอย่างทำแบบ 0000-000 ( สี่หลักแรกคือรหัสแผนกและตำแหน่งน่ะครับ) ซึ่งจะทำให้ แบ่งเป็นสัดเป็ฯส่วนดี เข้าใจง่าย
แต่ทีนี้ติดปัญหาว่า
ในหน้าฟอร์ม add พนักงาน เวลาจะ add แต่ละคน ผมได้ใส่คำสั่ง ให้โปรแกรมมันหารหัส พนักงานล่าสุด แล้วบวก ไปอีก 1 (ใช้ dmax น่ะครับ)
แต่ทีนี้พอรหัสเป็นแบบ มีแบ่งเป็นรหัสแผนกกับตำแหน่งเพิ่มขึ้นอีก (คือแบบ 0000-000 น่ะครับ)
มันมีปัญหา (คือพยายามเขียน code แล้วกลับไม่ work )
ดังนั้น เลยอยากปรึกษาอาจารย์ว่า เปลี่ยนรหัสกลับเป็นแบบ เลขเรียงกันอย่างเดียวเลยดีไหม เพราะว่าจะสะดวกใน การที่จะขึ้นรหัสล่าสุดสำหรับให้ user add ด้วย
คือรหัสแบบ 0001 0002 เรียงกันปกตินี่ มันมีข้อเสียอะไรไหมครับ
ขอบคุณมากๆ ครับ
แต่ที่นี้บริษัทมันมีหลายแผนกหลายตำแหน่ง ผมก็เลยอย่างทำแบบ 0000-000 ( สี่หลักแรกคือรหัสแผนกและตำแหน่งน่ะครับ) ซึ่งจะทำให้ แบ่งเป็นสัดเป็ฯส่วนดี เข้าใจง่าย
แต่ทีนี้ติดปัญหาว่า
ในหน้าฟอร์ม add พนักงาน เวลาจะ add แต่ละคน ผมได้ใส่คำสั่ง ให้โปรแกรมมันหารหัส พนักงานล่าสุด แล้วบวก ไปอีก 1 (ใช้ dmax น่ะครับ)
แต่ทีนี้พอรหัสเป็นแบบ มีแบ่งเป็นรหัสแผนกกับตำแหน่งเพิ่มขึ้นอีก (คือแบบ 0000-000 น่ะครับ)
มันมีปัญหา (คือพยายามเขียน code แล้วกลับไม่ work )
ดังนั้น เลยอยากปรึกษาอาจารย์ว่า เปลี่ยนรหัสกลับเป็นแบบ เลขเรียงกันอย่างเดียวเลยดีไหม เพราะว่าจะสะดวกใน การที่จะขึ้นรหัสล่าสุดสำหรับให้ user add ด้วย
คือรหัสแบบ 0001 0002 เรียงกันปกตินี่ มันมีข้อเสียอะไรไหมครับ
ขอบคุณมากๆ ครับ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R04229
แล้วแต่รูปแบบการออกแบบฐานข้อมูลของแต่ละคนครับ
วัตถุประสงค์ของการออก รหัส คือการต้องการให้เป็น Primary Key ของตาราง เพื่อป้องกันการซ้ำซ้อนกัน และเพื่อใช้ในการ Link กับตารางอื่นๆ เพื่อไม่ต้องเก็บข้อมูลซ้ำซ้อน
ฉะนั้นจะออกแบบอย่างไรก็ได้ ที่เราสามารถจัดการได้ง่าย
สำหรับผม จะนิยมออกแบบรหัสให้มีความหมายอื่นๆ ในตัวของรหัสด้วย เช่น 2 หลักแรกเป็นปี 2 หลักต่อมาเป็นแผนก และหลักอื่นๆ ที่เหลือ ให้เป็นรหัสของแต่ละคนในแผนกนั้น
การเขียนโค้ดออกรหัสตรงนี้จะยุ่งยากหน่อย ผมจะใช้การดึง 2 หลักแรกจาก Date() ส่วนแผนก ก็ใช้ดึงจาก Combo Box ที่มีให้เลือก ส่วนหลักที่เหลือ ก็ใช้ DMax() ช่วย โดยตรวจสอบเงื่อนไขของ 4 หลักแรกด้วย
เคยมีตัวอย่างให้ศึกษาในกระทู้เก่าๆ อยู่ครับ ลองค้นด้วยคำว่า intMax ดูครับ
วัตถุประสงค์ของการออก รหัส คือการต้องการให้เป็น Primary Key ของตาราง เพื่อป้องกันการซ้ำซ้อนกัน และเพื่อใช้ในการ Link กับตารางอื่นๆ เพื่อไม่ต้องเก็บข้อมูลซ้ำซ้อน
ฉะนั้นจะออกแบบอย่างไรก็ได้ ที่เราสามารถจัดการได้ง่าย
สำหรับผม จะนิยมออกแบบรหัสให้มีความหมายอื่นๆ ในตัวของรหัสด้วย เช่น 2 หลักแรกเป็นปี 2 หลักต่อมาเป็นแผนก และหลักอื่นๆ ที่เหลือ ให้เป็นรหัสของแต่ละคนในแผนกนั้น
การเขียนโค้ดออกรหัสตรงนี้จะยุ่งยากหน่อย ผมจะใช้การดึง 2 หลักแรกจาก Date() ส่วนแผนก ก็ใช้ดึงจาก Combo Box ที่มีให้เลือก ส่วนหลักที่เหลือ ก็ใช้ DMax() ช่วย โดยตรวจสอบเงื่อนไขของ 4 หลักแรกด้วย
เคยมีตัวอย่างให้ศึกษาในกระทู้เก่าๆ อยู่ครับ ลองค้นด้วยคำว่า intMax ดูครับ
Time: 0.1239s
คือว่า ปกติแล้วเนี่ย ตามบริษัทหรือโรงงานทั่วไป เค้าใช้รหัสลักษณะไหนกันเหรอครับ
ได้ยินมาว่า บางครั้งก็ใช้เก็บ สองแบบ คือ รหัสพนักงานประจำ กับรหัสพนักงานชั่วคราว
ผมควรทำแบบนี้้ดีไหมครับ มีข้อดีข้อเสียอย่างไรบ้าง
แล้วก็ ไอ้วิธีที่ผมบอกไปคือรหัสแบบมีรหัสตำแหน่ง แผนกด้วย
รู้สึกว่า ถ้าเกิดพนักงานคนนั้นเปลี่ยนตำแหน่ง ผมคิดว่าคงวุ่นวายน่าดู