กระทู้เก่าบอร์ด อ.Yeadram
        
           1,875   4		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        มีปัญหาเรื่อง VBA กับการจำกัดจำนวนเรคคอร์ดครับ      
    
      พอดีเป็นมือใหม่นะครับ แต่ต้องเขียนโปรแกรมบันทึกข้อมูลพนักงานใช้ในแผนก โดยมีเงื่อนไขว่า ในคอลัมภ์รหัสพนักงานสามารถให้รหัสพนักงานเดียวกันซ้ำกันได้เพียง 5 เรคคอร์ดเท่านั้น (ทำโปรเจคเบอร์โทรครับ คือพนักงาน 1 คนสามารถคีย์เบอร์โทรเพื่อนสนิทได้ 5 เบอร์เท่านั้น เป็นสวัสดิการบริษัท) จะใช้ index กำหนดว่า No Duplicate ก็ไม่ได้ เพราะมันให้ซ้ำกันได้แต่ห้ามมากกว่า 5 รหัส เลยหาทางยังไม่ได้ครับ พอดีน้องที่ทำงานแนะนำว่าให้สร้างปุ่ม Save แล้วเอา โค้ด VBA ไปฝังในปุ่ม แต่ไม่รู้เทคนิคการเขียนครับ (งานก็เร่งจะเอาวันนี้ เครียดมากมาย) วานผู้รู้ช่วยตอบให้ด้วยนะครับ จะขอบคุณอย่างล้นพ้นเหลือคณา    
    
  
				4 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    2 @R04889    
        
  
      ใช้ dcount ครับ ในเหตุการณ์ before update ใน form ครับ
dim xxx as interger
xxx=Dcount("รหัสพนักงาน","ตารางเก็บข้อมูล")
if xxx > 5 then
msgbox "ssssss",vbok
endif
    
    
  dim xxx as interger
xxx=Dcount("รหัสพนักงาน","ตารางเก็บข้อมูล")
if xxx > 5 then
msgbox "ssssss",vbok
endif
        
    3 @R04890    
        
  
      เอ้า ไม่ทัน อ.yeadram  
    
    
   
    
        
    4 @R04941    
        
    
      ขอบคุณทุกท่านมากครับ ผมจะลองนำไปศึกษาดูครับ    
    
  
      Time: 0.5983s
    
      
		
- Emp_ID (autonumber) (Primary key)
- Emp_Name (text , 30)
Table : EmpFriend (No Primary key)
- Emp_ID (index, duplicate ok)
- Friend (text, 30)
เอาตาราง EmpFriend ไปสร้างเป็นฟอร์ม (Datasheet) เซฟชื่อ sf_Friend
- textbox ชื่อ tEmpID ผูกกับฟิลด์ Emp_ID
- textbox ชื่อ tFriend ผูกกับฟิลด์ Friend
ปิดฟอร์มย่อย sf_Friend
เอาตาราง Employee ไปสร้างเป็นฟอร์ม (ชิดขอบ) เซฟชื่อ mf_empFriend
- เพิ่มคอนโทรล sub form (sf_Friend)
- Link child field = Emp_id
- Link Master field = Emp_id
- ปิด และเซฟฟอร์ม mf_empFriend
เปิดฟอร์ม sf_Friend ในมุมมองออกแบบ
เขียนโค้ดในเหตุการณ์ BeforeUpdate ของฟอร์ม
Form_beforeUpdate(Cancel as integer)
dim max5 as long
max5 = dcount("Emp_ID","EmpFriend","[Emp_ID] = " & clng(me.tEmpID))
if max5 =>5 then
msgbox "Can not more than Five"
cancel=true
end if
End Sub
** เขียนสดหน้าเว็บ ไม่ได้ลองทำ