ลองดูนะครับ ไม่รู้ใช่ที่ต้องการหรือเปล่า
แนวคิดคือ
1.ถ้าเกินวันที่ 10 ก็ให้ เดือน +1
2.ถ้าเป็น เดือน 12 และ วันที่ >10 ให้ เดือนเท่ากับ 1 และ ปี+1
แบบที่ 1 แบบแสดงเดือนเป็นตัวเลข และเดือนแบบตัวอักษร
Private Sub txtDate_AfterUpdate()
Dim sMonth As String
Dim sDate As String
Dim result As String
sMonth = Month(Me.txtDate)
sDate = Day(Me.txtDate)
sYear = Format(txtDate, "yyyy")
If sDate <= 10 Then
result = Me.txtDate
Else
result = sDate & "/" & sMonth + 1 & "/" & sYear
If (Mid(result, 4, 2)) = "13" Then
result = sDate & "/" & "1" & "/" & (Format(txtDate, "yyyy") + 1)
Else
result = result
End If
End If
result = result
Me.txtMonth = "เดือน" & Month(result) & " " & MonthName(Month(result))
End Sub
แบบที่ 2 แสดงเดือนและปีแบบเต็ม
Private Sub txtDate_AfterUpdate()
Dim sMonth As String
Dim sDate As String
Dim result As String
sMonth = Month(Me.txtDate)
sDate = Day(Me.txtDate)
sYear = Format(txtDate, "yyyy")
If sDate <= 10 Then
result = Me.txtDate
Else
result = sDate & "/" & sMonth + 1 & "/" & sYear
If (Mid(result, 4, 2)) = "13" Then 'ดักเงื่อนไข กรณี เดือน 12 +1 จะเท่ากับ 13
result = sDate & "/" & "1" & "/" & (Format(txtDate, "yyyy") + 1) 'ก็ให้แปลงกลับเป็นเดือน 1 และ +ปี ไปอีก 1
Else
result = result
End If
End If
Me.txtMonth = result
End Sub