กระทู้เก่าบอร์ด อ.Yeadram
        
           2,223   2		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        สร้างGENรหัสอัตโนมัติ      
    
      รบกวนหน่อยค่ะ คือกำลังทำโปรเจคอยู่ค่ะไม่ค่อยเข้าใจการเขียนสคิปเท่าไรอยากรบกวนแนะนำโค้ดให้หน่อยค่ะ รูปแบบที่อยากได้คือ ASTYYMM000 (ตัวอักษร AST+ปี(YY)+เดือน(MM)+000 ลำดับ นะค่ะ รบกวนผู้รู้แนะนำหน่อยค่ะ    
    
  
				2 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    1 @R11415    
        
  
      ลองค้นในเวปบอร์ดนี้ด้วยคำว่า "running no" หรือ "run no" หรือ "รันเลขที่" ดูครับ มีการพูดถึงเยอะแล้ว    
    
  
        
    2 @R11443    
        
    
      สมมติ Field ที่ใช้ Running No ชื่อ DocNo
ไปที่ Design ของ Form ที่ต้องการ
คลิก Mouse ขวาที่ Filed ที่ชื่อ DocNo
เลือก Properties > เลือกที่ Tap ชื่อ Event > เลือก On Dbl Click
แล้วใส่ Code ข้างล่างนี้ลงไป
Dim strDate As String
Dim intNum As Integer, intMax As Integer
Dim strSuffix As String
strDate = Format(Now(), "yymm")
If Me.DocNo = "" Or IsNull(Me.DocNo) Then
If IsNull(DMax("Val(Mid([DocNo],8))", "TblDocNo", "Mid([DocNo],4,4) = '" & strDate & " '")) Then
' ถ้าอักษรที่นำหน้า 2 ตัว ใส่เลข 7 แทนเลข 8 และใส่เลข 3,4 แทนเลข 4,4
' ถ้าอักษรที่นำหน้า 3 ตัว ใส่เลข 8 แทนเลข 7 และใส่เลข 4,4 แทนเลข 3,4
Me.DocNo = "AST" & strDate & "001"
        
Else
intMax = DMax("Val(Mid([DocNo],8))", "TblDocNo", "Mid([DocNo],4,4) = '" & strDate & " '")
' ถ้าอักษรที่นำหน้า 2 ตัว ใส่เลข 8 แทนเลข 7 และใส่เลข 3,4 แทนเลข 4,4
' ถ้าอักษรที่นำหน้า 3 ตัว ใส่เลข 8 แทนเลข 7 และใส่เลข 4,4 แทนเลข 3,4
Select Case intMax
Case Is >= 99
Me.DocNo = "AST" & strDate & "" & intMax + 1
Case Is >= 9
Me.DocNo = "AST" & strDate & "0" & intMax + 1
Case Is < 9
Me.DocNo = "AST" & strDate & "00" & intMax + 1
End Select
            
End If
    
End If
เวลาใช้งาน ก็เปิด Form ขึ้นมา แล้วทำการ Double click ที่ Field ชื่อ DocNo
ลองดูครับ
ขอบพระคุณมากๆ ครับ
    
    
  ไปที่ Design ของ Form ที่ต้องการ
คลิก Mouse ขวาที่ Filed ที่ชื่อ DocNo
เลือก Properties > เลือกที่ Tap ชื่อ Event > เลือก On Dbl Click
แล้วใส่ Code ข้างล่างนี้ลงไป
Dim strDate As String
Dim intNum As Integer, intMax As Integer
Dim strSuffix As String
strDate = Format(Now(), "yymm")
If Me.DocNo = "" Or IsNull(Me.DocNo) Then
If IsNull(DMax("Val(Mid([DocNo],8))", "TblDocNo", "Mid([DocNo],4,4) = '" & strDate & " '")) Then
' ถ้าอักษรที่นำหน้า 2 ตัว ใส่เลข 7 แทนเลข 8 และใส่เลข 3,4 แทนเลข 4,4
' ถ้าอักษรที่นำหน้า 3 ตัว ใส่เลข 8 แทนเลข 7 และใส่เลข 4,4 แทนเลข 3,4
Me.DocNo = "AST" & strDate & "001"
Else
intMax = DMax("Val(Mid([DocNo],8))", "TblDocNo", "Mid([DocNo],4,4) = '" & strDate & " '")
' ถ้าอักษรที่นำหน้า 2 ตัว ใส่เลข 8 แทนเลข 7 และใส่เลข 3,4 แทนเลข 4,4
' ถ้าอักษรที่นำหน้า 3 ตัว ใส่เลข 8 แทนเลข 7 และใส่เลข 4,4 แทนเลข 3,4
Select Case intMax
Case Is >= 99
Me.DocNo = "AST" & strDate & "" & intMax + 1
Case Is >= 9
Me.DocNo = "AST" & strDate & "0" & intMax + 1
Case Is < 9
Me.DocNo = "AST" & strDate & "00" & intMax + 1
End Select
End If
End If
เวลาใช้งาน ก็เปิด Form ขึ้นมา แล้วทำการ Double click ที่ Field ชื่อ DocNo
ลองดูครับ
ขอบพระคุณมากๆ ครับ
      Time: 0.0597s
    
      
		