RunNumber(PK) ตาม ปี-เดือน-No
กระทู้เก่าบอร์ด อ.Yeadram

 1,892   4
URL.หัวข้อ / URL
RunNumber(PK) ตาม ปี-เดือน-No

จากโค้ดนี้ครับ
Private Sub AddFarmerId_Click()
Dim strDate As String
Dim intNum As Integer, intMax As Integer
Dim strSuffix As String
strDate = Format(Date, "yy-mm")
If Me.FarmerId = "" Or IsNull(Me.FarmerId) Then
If IsNull(DMax("Val(Mid([FarmerId],7))", "TB_Farmers", "Left([FarmerId],5) = '" & strDate & " '")) Then

Me.FarmerId = strDate & "-" & "0001"
Debug.Print "1"

Else: intMax = DMax("Val(Mid([FarmerId],7))", "TB_Farmers", "Left([FarmerId],5) = '" & strDate & " '")

intMax = intMax + 1
Me.FarmerId = strDate & "-" & Format(intMax, "0000")
Debug.Print "1"
Prefix.SetFocus
End If
End If
End Sub

ผลลัพธ์            55-06-0001--->55-06-XXXX เดือน มิถุนายน
ขึ้นเดือนใหม่    55-07-0001--->

ช่วยแก้ให้หน่อยครับว่า ถ้าขึ้นเดือนใหม่ไม่้ต้อง นับ 0001 ใหม่ ได้ไหมครับ ให้ต่อจากเดือนก่อนเลย สมมุติ 55-06-0010 ---> เดือนต่อมา 55-07-0011 เลยครับ

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R13146
ยังแก้ไม่ได้เลยครับ
2 @R13147
ในโค้ด มีการใช้คำสั่ง Dmax 2 ครั้ง ไปแก้เงื่อนไขของมันทั้งสองจุดนั่นเลยครับ
จุดแรก ดังนี้
If IsNull(DMax("Val(Mid([FarmerId],7))", "TB_Farmers", "Left([FarmerId],2) = '" & Format(Date, "yy") & "'")) Then

จุดสองดังนี้
Else: intMax = DMax("Val(Mid([FarmerId],7))", "TB_Farmers", "Left([FarmerId],2) = '" & Format(Date, "yy") & "'")

ถ้ามั่นใจว่า ในปีหนึ่งคุณรันเลขที่ น้อยกว่าหมื่นเลขที่ ก็ลุยโลด
3 @R13149
ได้แล้วครับ อาจารย์ yeadram ผมมือใหม่หน่ะครับยังไม่ค่อยรู้เรื่อง Code เท่าไหร่ แต่ก็พยายามจะเรียนรู้จากบอร์ดนี้ครับ และจากอาจารย์หลายๆท่าน ขอบคุณจากใจจริงๆครับ
ผมรบกวนอีกอย่างนึงครับ

ตอนนี้ผมสร้าง Combo เลือกจังหวัด--->อำเภอ(ของจังหวัดที่เลือก)--->ตำบล
ถ้าผมคีย์ แพ จะมี autocomplete ขึ้นมาให้ว่า แพร่ ถ้าผมกด Enter และจะเลือกอำเภอ ต่อไป Combo อำเภอมันไม่มีรายชื่อให้เลือกครับ (ว่างเปล่า) แต่ถ้าใช้เมาส์คลิกเลิกที่ Combo จังหวัด จึงจะมีรายชื่ออำเภอให้ ไม่ทราบว่าผมต้องเปลี่ยน code ยังไงครับ หรือว่าผมใส่ Code ผิดที่ครับ

Private Sub Province_Change()
Amphur.RowSource = "Select * From [CodeAmphur] where ([PROVINC[CODE] Like '" & Province & "')"
Amphur.Requery
End Sub

Private Sub Amphur_Change()
Tambon.RowSource = "Select * From [CodeTumbol] where ([AMPHURCODE] Like '" & Amphur & "')"
Tambon.Requery
4 @R13152
ได้แล้วครับ!! พอดีลองเอาโค้ดไปใส่ ที่ After Update ครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1801s