กระทู้เก่าบอร์ด อ.Yeadram
2,910 22
URL.หัวข้อ /
URL
รบกวนดูโค้ด auto number หน่อยครับ
รบกวนสอบถามผู้รู้ และอาจารย์สันติสุขครับ
Option Compare Database
Option Explicit
Private Sub Form_Load()
End Sub
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
End Sub
Private Sub Text3_AfterUpdate()
Dim strdate As String
Dim intNum As Integer, intMax As Integer
strdate = Format(Date, "yyyy-mm")
If DCount("[p_number]", "query1") = 0 Then
[p_number] = 1
Me.P_ID = strdate & "-" & Format([p_number], "000")
Else
[p_number] = DMax("[p_number]", "query1") + 1
Me.P_ID = strdate & "-" & Format([p_number], "000")
End If
SendKeys "{f9}", True
[¿ÍÃìÁÂèÍ tbl_PostData].Requery
End Sub
'Private p_number As String
Private Sub Command17_Click()
On Error GoTo Err_Command17_Click
DoCmd.GoToRecord , , acNewRec
Dim strdate As String
Dim intNum As Integer, intMax As Integer
strdate = Format(Date, "yyyy-mm")
If DCount("[p_number]", "query1") = 0 Then
[p_number] = 1
Me.P_ID = strdate & "-" & Format([p_number], "000")
Else
[p_number] = DMax("[p_number]", "query1") + 1
Me.P_ID = strdate & "-" & Format([p_number], "000")
End If
If Me.p_number >= 5 Then
Me.p_number = 1
End If
SendKeys "{f9}", True
[¿ÍÃìÁÂèÍ tbl_PostData].Requery
DoCmd.GoToControl "P_Name"
Exit_Command17_Click:
Exit Sub
Err_Command17_Click:
MsgBox Err.Description
Resume Exit_Command17_Click
End Sub
ผลลัพท์ที่ได้คือ ...
P_Date P_ID
31/10/2016 2016-10-001
31/10/2016 2016-10-002
31/10/2016 2016-10-003
31/10/2016 2016-10-004
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
รบกวนสอบถามครับ คำถามคือ ผมจะรันเลขท้ายโดยเมื่อถึงเลข 150 ให้นับ 1 ใหม่ ดังตัวอย่างด้านล่างนี้ครับ
P_Date P_ID
31/10/2016 2016-10-149
31/10/2016 2016-10-150
31/10/2016 2016-10-001
31/10/2016 2016-10-002
ต้องแก้ไขโค้ดตรงไหน อย่างไรบ้างครับ รบกวนด้วยนะครับทำมาเป็นอาทิตย์และคับไม่ได้สักทีอ่าคับ ขอบพระคุณมากครับผม
Option Compare Database
Option Explicit
Private Sub Form_Load()
End Sub
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
End Sub
Private Sub Text3_AfterUpdate()
Dim strdate As String
Dim intNum As Integer, intMax As Integer
strdate = Format(Date, "yyyy-mm")
If DCount("[p_number]", "query1") = 0 Then
[p_number] = 1
Me.P_ID = strdate & "-" & Format([p_number], "000")
Else
[p_number] = DMax("[p_number]", "query1") + 1
Me.P_ID = strdate & "-" & Format([p_number], "000")
End If
SendKeys "{f9}", True
[¿ÍÃìÁÂèÍ tbl_PostData].Requery
End Sub
'Private p_number As String
Private Sub Command17_Click()
On Error GoTo Err_Command17_Click
DoCmd.GoToRecord , , acNewRec
Dim strdate As String
Dim intNum As Integer, intMax As Integer
strdate = Format(Date, "yyyy-mm")
If DCount("[p_number]", "query1") = 0 Then
[p_number] = 1
Me.P_ID = strdate & "-" & Format([p_number], "000")
Else
[p_number] = DMax("[p_number]", "query1") + 1
Me.P_ID = strdate & "-" & Format([p_number], "000")
End If
If Me.p_number >= 5 Then
Me.p_number = 1
End If
SendKeys "{f9}", True
[¿ÍÃìÁÂèÍ tbl_PostData].Requery
DoCmd.GoToControl "P_Name"
Exit_Command17_Click:
Exit Sub
Err_Command17_Click:
MsgBox Err.Description
Resume Exit_Command17_Click
End Sub
ผลลัพท์ที่ได้คือ ...
P_Date P_ID
31/10/2016 2016-10-001
31/10/2016 2016-10-002
31/10/2016 2016-10-003
31/10/2016 2016-10-004
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
31/10/2016 2016-10-005
รบกวนสอบถามครับ คำถามคือ ผมจะรันเลขท้ายโดยเมื่อถึงเลข 150 ให้นับ 1 ใหม่ ดังตัวอย่างด้านล่างนี้ครับ
P_Date P_ID
31/10/2016 2016-10-149
31/10/2016 2016-10-150
31/10/2016 2016-10-001
31/10/2016 2016-10-002
ต้องแก้ไขโค้ดตรงไหน อย่างไรบ้างครับ รบกวนด้วยนะครับทำมาเป็นอาทิตย์และคับไม่ได้สักทีอ่าคับ ขอบพระคุณมากครับผม
22 Reply in this Topic. Dispaly 2 pages and you are on page number 2
21 @R22677
เครื่องหมาย | ไม่ได้หมายถึงฟิลด์ชื่อนั้นครับ มันเป็นปัญหาที่ Access ไม่เคยแก้ ไม่รู้ทำไมเหมือนกัน มันเป็นตำแหน่งที่ระบบจะเอาคำพูดมาเติมที่ช่องนั้น ลองลบบรรทัด On Error Goto Err_Command17_Click ออกไปก็ได้ครับ แล้วรันอีกที น่าจะได้ประโยคของ error ที่สมบูรณ์กว่านี้
22 @R22680
ขอบพระคุณมากครับอาจารย์สันติสุขครับผม
Time: 0.3061s