กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
        
           544   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.0687s
    
      
		
คือว่า ปกติแล้วเนี่ย ตามบริษัทหรือโรงงานทั่วไป เค้าใช้รหัสลักษณะไหนกันเหรอครับ
ได้ยินมาว่า บางครั้งก็ใช้เก็บ สองแบบ คือ รหัสพนักงานประจำ กับรหัสพนักงานชั่วคราว
ผมควรทำแบบนี้้ดีไหมครับ มีข้อดีข้อเสียอย่างไรบ้าง
แล้วก็ ไอ้วิธีที่ผมบอกไปคือรหัสแบบมีรหัสตำแหน่ง แผนกด้วย
รู้สึกว่า ถ้าเกิดพนักงานคนนั้นเปลี่ยนตำแหน่ง ผมคิดว่าคงวุ่นวายน่าดู