กระทู้เก่าบอร์ด อ.Yeadram
4,073 26
URL.หัวข้อ /
URL
สอบถาม Run number ครับ
ผมเขียน Code Run Number ตามนี้ครับ
Private Sub zzz_Click()
Dim AddNo As String
Dim AAA As Integer
Dim CCC As String
Dim ANT As String
CCC = DMax("zzz", "Qr")
'หาค่ามากที่สุดในฟิว ZZZ ตาราง QR
AAA = "Select Count (ZZZ) From Qr Where zzz=CCC "
'ให้นับจำนวน Record ที่มีค่าเหมือนหรือเท่ากับ CCC ที่ฟิว ZZZ ตาราง Qr ว่ามีจำนวนเท่าไร่
If AAA > 5 Then
'เช็คเงื่อนไข AAA มีค่ามากกว่า 5 ราการคือ 0001/56 จำนวน 5 รายการเป็นต้น
If Right(AAA, 2) <> Format(Now(), "YY") Then
'รูปแบบ 0001/56 ถ้าตัวเลข 56 ไม่เท่ากับ Format
AddNo = 1
'ให้บวก YY ได้ 56+1 = 57
Else
AddNo = Left(AAA, 4) + 1
'จำนวนทางซ้าย +1
End If
If AddNo < 10 Then
ANT = "000" & AddNo & "/" & Format(Now(), "YY")
ElseIf AddNo < 100 Then
ANT = "00" & AddNo & "/" & Format(Now(), "YY")
ElseIf AddNo < 1000 Then
ANT = "0" & AddNo & "/" & Format(Now(), "YY")
Else
ANT = AddNo & AddNo & "/" & Format(Now(), "YY")
End If
Else
ANT = CCC
' ให้คำตอบเท่ากับค่าเดิม
zzz.Value = ANT
'Text ZZZ ให้มีค่าเท่ากับ ANT
End If
คำถามของผมคือ พอผม Run ใช้งานโปรแกรมโปรแกรมแจ้งว่าType Mismatch
ตรงบรรทัด AAA = "Select Count (ZZZ) From Qr Where zzz=CCC "
แต่พอผมเปลี่ยน AAA As String มันก็ขึ้นเหมือนเดิมแต่เป็นที่บรรทัด If AAA > 5
และผมลองใส่ " " ที่ If AAA > 5 เป็น If AAA > "5" โปรแกรม Run ไม่เจอ Error อะไรเลย แต่ก็ไม่ขึ้นอะไรครับ
ผมรบกวนอาจารย์ หรือผู้รู้ช่วยแนะนำการแก้ไขให้ถูกต้องหรือแก้ไขให้ผมด้วยครับ
ขอขอบคุณมากครับ
Private Sub zzz_Click()
Dim AddNo As String
Dim AAA As Integer
Dim CCC As String
Dim ANT As String
CCC = DMax("zzz", "Qr")
'หาค่ามากที่สุดในฟิว ZZZ ตาราง QR
AAA = "Select Count (ZZZ) From Qr Where zzz=CCC "
'ให้นับจำนวน Record ที่มีค่าเหมือนหรือเท่ากับ CCC ที่ฟิว ZZZ ตาราง Qr ว่ามีจำนวนเท่าไร่
If AAA > 5 Then
'เช็คเงื่อนไข AAA มีค่ามากกว่า 5 ราการคือ 0001/56 จำนวน 5 รายการเป็นต้น
If Right(AAA, 2) <> Format(Now(), "YY") Then
'รูปแบบ 0001/56 ถ้าตัวเลข 56 ไม่เท่ากับ Format
AddNo = 1
'ให้บวก YY ได้ 56+1 = 57
Else
AddNo = Left(AAA, 4) + 1
'จำนวนทางซ้าย +1
End If
If AddNo < 10 Then
ANT = "000" & AddNo & "/" & Format(Now(), "YY")
ElseIf AddNo < 100 Then
ANT = "00" & AddNo & "/" & Format(Now(), "YY")
ElseIf AddNo < 1000 Then
ANT = "0" & AddNo & "/" & Format(Now(), "YY")
Else
ANT = AddNo & AddNo & "/" & Format(Now(), "YY")
End If
Else
ANT = CCC
' ให้คำตอบเท่ากับค่าเดิม
zzz.Value = ANT
'Text ZZZ ให้มีค่าเท่ากับ ANT
End If
คำถามของผมคือ พอผม Run ใช้งานโปรแกรมโปรแกรมแจ้งว่าType Mismatch
ตรงบรรทัด AAA = "Select Count (ZZZ) From Qr Where zzz=CCC "
แต่พอผมเปลี่ยน AAA As String มันก็ขึ้นเหมือนเดิมแต่เป็นที่บรรทัด If AAA > 5
และผมลองใส่ " " ที่ If AAA > 5 เป็น If AAA > "5" โปรแกรม Run ไม่เจอ Error อะไรเลย แต่ก็ไม่ขึ้นอะไรครับ
ผมรบกวนอาจารย์ หรือผู้รู้ช่วยแนะนำการแก้ไขให้ถูกต้องหรือแก้ไขให้ผมด้วยครับ
ขอขอบคุณมากครับ
26 Reply in this Topic. Dispaly 2 pages and you are on page number 1
2 @R16199
เพิ่มเกติมครับผมเปลี่ยน
AAA = "Select Count (ZZZ) From Qr Where zzz=CCC "
เป็น
AAA = DCount("[ZZZ]", "[QR]", "[ZZZ] = 'AAA'")
ตอนนี้ติดตรงที่พอตัวเลข Run ไปเช่น
0001/56
0001/56
0001/56
0001/56
0001/56
พอเกิน 5 Record แล้วแทนที่จะเป็น 0002/56 แต่ยังเป็นตัวเดิมครับ
AAA = "Select Count (ZZZ) From Qr Where zzz=CCC "
เป็น
AAA = DCount("[ZZZ]", "[QR]", "[ZZZ] = 'AAA'")
ตอนนี้ติดตรงที่พอตัวเลข Run ไปเช่น
0001/56
0001/56
0001/56
0001/56
0001/56
พอเกิน 5 Record แล้วแทนที่จะเป็น 0002/56 แต่ยังเป็นตัวเดิมครับ
3 @R16200
ความต้องการคุณหมายถึงเรคคอร์ดใหม่ ให้รันเลขซ้ำกัน 5 เรคคอร์ดแล้วค่อยเพิ่มที่ละ 1 ส่วน ปีหลังเครื่องหมาย / คือเปลี่ยนเมื่อขึ้นปีใหม่ใช่ไหมครับ
0001/56
0001/56
0001/56
0001/56
0001/56
0002/56
0002/56
0002/56
0002/56
0002/56
0003/56
เมื่อขึ้นปีใหม่
0003/57
0003/57
0003/57
0003/57
0004/57
อย่างนี้หรือเปล่าครับ หรือเมื่อขึ้นปีใหม่จะให้เป็นยังไง
0001/56
0001/56
0001/56
0001/56
0001/56
0002/56
0002/56
0002/56
0002/56
0002/56
0003/56
เมื่อขึ้นปีใหม่
0003/57
0003/57
0003/57
0003/57
0004/57
อย่างนี้หรือเปล่าครับ หรือเมื่อขึ้นปีใหม่จะให้เป็นยังไง
4 @R16201
ลองเขียนอย่างนี้ดูครับ
'Private Sub zzz_Click()
If IsNull(zzz) Or zzz & "" = "" Then
Dim CCC As String
CCC = DCount("zzz", "Qr") + 1
zzz.value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
'End Sub
'Private Sub zzz_Click()
If IsNull(zzz) Or zzz & "" = "" Then
Dim CCC As String
CCC = DCount("zzz", "Qr") + 1
zzz.value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
'End Sub
5 @R16202
ขอขอบคุณคุณTTT ครับ
6 @R16207
เรียนคุณ TTT ครับ ผมอยากเช็คเงื่อนไขเพิ่มคือ
ให้เช็คก่อนว่า Dcount ต้องเป็นข้อมูลของวันนี้ หากไม่ใช่ของวันนี้เป็นของเมื่อวานหรือไม่ใช่วันนี้
ให้ Run เลขใหม่เลยโดยไม่ต้องรอให้ครบ 5 ก่อนผมจะต้องทำอย่างไรครับ
วันเก่า
วันที่ ลำดับ
1/6/2556 0001/56
1/6/2556 0001/56
แต่พอวันที่ 1/6/2556 จบวัน ก็ให้จบแค่นั้นครับ พอขึ้นวันใหม่
ให้ลำดับเป็น 0002/56 เลยได้ไหมครับโดยไม่ต้องให้ครบ 5 ลำดับ
ขึ้นวันใหม่
วันที่ ลำดับ
2/6/2556 0002/56
2/6/2556 0002/56
2/6/2556 0002/56
2/6/2556 0002/56
2/6/2556 0002/56
2/6/2556 0003/56
2/6/2556 0003/56
2/6/2556 0003/56
2/6/2556 0003/56
2/6/2556 0003/56
ขอบคุณครับ
ให้เช็คก่อนว่า Dcount ต้องเป็นข้อมูลของวันนี้ หากไม่ใช่ของวันนี้เป็นของเมื่อวานหรือไม่ใช่วันนี้
ให้ Run เลขใหม่เลยโดยไม่ต้องรอให้ครบ 5 ก่อนผมจะต้องทำอย่างไรครับ
วันเก่า
วันที่ ลำดับ
1/6/2556 0001/56
1/6/2556 0001/56
แต่พอวันที่ 1/6/2556 จบวัน ก็ให้จบแค่นั้นครับ พอขึ้นวันใหม่
ให้ลำดับเป็น 0002/56 เลยได้ไหมครับโดยไม่ต้องให้ครบ 5 ลำดับ
ขึ้นวันใหม่
วันที่ ลำดับ
2/6/2556 0002/56
2/6/2556 0002/56
2/6/2556 0002/56
2/6/2556 0002/56
2/6/2556 0002/56
2/6/2556 0003/56
2/6/2556 0003/56
2/6/2556 0003/56
2/6/2556 0003/56
2/6/2556 0003/56
ขอบคุณครับ
7 @R16212
ลองอย่างนี้ครับ ผมให้ชื่อฟิลด์ วันที่ ในตารางชื่อ aDate นะครับ
'Private Sub zzz_Click()
If IsNull(zzz) Or zzz & "" = "" Then
If DCount("aDate", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") > 0 Then
Dim AAA As Long, CCC As Long
AAA = DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Date, "yyyy/m/d") & "#") * 5
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") + AAA + 1
zzz.value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
End If
'End Sub
ปล. วิธีเขียนแบบนี้ใช้กับเรคคอร์ดใหม่ ที่มีลงวันที่ปัจจุบันที่ฟิลด์ aDate ก่อนเท่านั้นนะครับ
'Private Sub zzz_Click()
If IsNull(zzz) Or zzz & "" = "" Then
If DCount("aDate", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") > 0 Then
Dim AAA As Long, CCC As Long
AAA = DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Date, "yyyy/m/d") & "#") * 5
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") + AAA + 1
zzz.value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
End If
'End Sub
ปล. วิธีเขียนแบบนี้ใช้กับเรคคอร์ดใหม่ ที่มีลงวันที่ปัจจุบันที่ฟิลด์ aDate ก่อนเท่านั้นนะครับ
8 @R16213
ขอขอบคุณครับ
เมื่อกี่ลองโพทใหม่ไปอีกอันกลัวอาจารย์ไม่เห็นครับ
ขอบคุณอีกครั้งครับเดียวผมรองดูแล้วจะกลับมาแจ้งครับ
ขอบคุณอย่างสูงครับ
เมื่อกี่ลองโพทใหม่ไปอีกอันกลัวอาจารย์ไม่เห็นครับ
ขอบคุณอีกครั้งครับเดียวผมรองดูแล้วจะกลับมาแจ้งครับ
ขอบคุณอย่างสูงครับ
9 @R16214
เรียนอาจารย์ TTT
ผมลองนำ code ไปวางไม่ขึ้นอะไรเลยครับ
แต่ Record เพิ่มครับ
ผมเพิิ่่่มวันที่ไปก่อนตามอาจารย์แนะนำที่ Record ใหม่
แต่ลำดับไม่ขึ้นครับ เป็นค่าว่างครับ
Private Sub zzz_Click()
aDate.Value = Form_Ma.Text8.Value
If IsNull(zzz) Or zzz & "" = "" Then
If DCount("aDate", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") > 0 Then
Dim AAA As Long, CCC As Long
AAA = DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Date, "yyyy/m/d") & "#") * 5
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") + AAA + 1
zzz.value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
End If
'End Sub
ผมลองนำ code ไปวางไม่ขึ้นอะไรเลยครับ
แต่ Record เพิ่มครับ
ผมเพิิ่่่มวันที่ไปก่อนตามอาจารย์แนะนำที่ Record ใหม่
แต่ลำดับไม่ขึ้นครับ เป็นค่าว่างครับ
Private Sub zzz_Click()
aDate.Value = Form_Ma.Text8.Value
If IsNull(zzz) Or zzz & "" = "" Then
If DCount("aDate", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") > 0 Then
Dim AAA As Long, CCC As Long
AAA = DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Date, "yyyy/m/d") & "#") * 5
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") + AAA + 1
zzz.value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
End If
'End Sub
10 @R16215
ผมส่งตัวอย่างไปที่ Email Board ครับ
accboard@gmail.com
password:accgmail
ชื่อเมลย์ RunNumberแบบมีเงื่อนไข อาจารย์TTT
รบกวนอาจารย์ช่วยดูให้หน่อยครับ
ขอบคุณครับ
accboard@gmail.com
password:accgmail
ชื่อเมลย์ RunNumberแบบมีเงื่อนไข อาจารย์TTT
รบกวนอาจารย์ช่วยดูให้หน่อยครับ
ขอบคุณครับ
11 @R16216
อันนี้ใส่เพื่ออะไรครับ ไม่เข้าใจ
aDate.Value = Form_Ma.Text8.Value
งั้นผมบอกขั้นตอนการทดสอบให้ทำดูนะครับ
1. คุณกำหนดค่าใน Property ของ Textbox ตัวที่แสดง วันที่ ในหัวข้อ Default value: Date() เพื่อให้ New Record เป็นค่าวันที่ปัจจุบัน
2. คำสั่งนี้จะใช้กับ New Record และวันที่ปัจจุบันเท่านั้นนะครับ จากนั้นคุณการคลิ๊กที่ Textbox zzz ได้เลยครับ
3. ใส่ค่าไปเรื่อยๆ จากนั้นปิดฟอร์มไป แล้วลองตั้งค่าวันที่ใน Windows ใหม่เป็นวันพรุ่งนี้ แล้วเปิดฟอร์มอีกครั้ง ลองดูใหม่ หากไม่พลาด เลขใหม่ก็จะรันตามที่คุณต้องการ routine มันเป็นแบบนี้อ่ะครับ
aDate.Value = Form_Ma.Text8.Value
งั้นผมบอกขั้นตอนการทดสอบให้ทำดูนะครับ
1. คุณกำหนดค่าใน Property ของ Textbox ตัวที่แสดง วันที่ ในหัวข้อ Default value: Date() เพื่อให้ New Record เป็นค่าวันที่ปัจจุบัน
2. คำสั่งนี้จะใช้กับ New Record และวันที่ปัจจุบันเท่านั้นนะครับ จากนั้นคุณการคลิ๊กที่ Textbox zzz ได้เลยครับ
3. ใส่ค่าไปเรื่อยๆ จากนั้นปิดฟอร์มไป แล้วลองตั้งค่าวันที่ใน Windows ใหม่เป็นวันพรุ่งนี้ แล้วเปิดฟอร์มอีกครั้ง ลองดูใหม่ หากไม่พลาด เลขใหม่ก็จะรันตามที่คุณต้องการ routine มันเป็นแบบนี้อ่ะครับ
12 @R16217
ใส่โค๊ดเหลือเท่านี้พอครับ
'Private Sub zzz_Click()
If Me.NewRecord Then
Dim AAA As Long, CCC As Long
AAA = DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Date, "yyyy/m/d") & "#") * 5
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") + AAA + 1
zzz.Value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
'End Sub
'Private Sub zzz_Click()
If Me.NewRecord Then
Dim AAA As Long, CCC As Long
AAA = DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Date, "yyyy/m/d") & "#") * 5
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") + AAA + 1
zzz.Value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
'End Sub
13 @R16218
อาจารย์ครับ
ผมลองนำ Code ใส่ ตามตัวอย่างที่ส่งให้ มัน Run ตัวเลขในวันที่เดียวกันตลอดครับ
0001/56
0002/56
0003/56
ในวันที่เดียวกันผมต้องเป็น
0001/56
0001/56
0001/56
0001/56
0001/56
0002/56
0002/56
0002/56
0002/56
0002/56
0003/56
0003/56
0003/56
0003/56
0003/56
ถ้าขึ้นของวันใหม่ถึงจะไม่นับ 5 Record ครับ
ขอรบกวนอีกนะครับ ผมก็พยายามแก้อยู่ครับ
ขอขอบคุณอาจารย์มากๆครับ
ผมลองนำ Code ใส่ ตามตัวอย่างที่ส่งให้ มัน Run ตัวเลขในวันที่เดียวกันตลอดครับ
0001/56
0002/56
0003/56
ในวันที่เดียวกันผมต้องเป็น
0001/56
0001/56
0001/56
0001/56
0001/56
0002/56
0002/56
0002/56
0002/56
0002/56
0003/56
0003/56
0003/56
0003/56
0003/56
ถ้าขึ้นของวันใหม่ถึงจะไม่นับ 5 Record ครับ
ขอรบกวนอีกนะครับ ผมก็พยายามแก้อยู่ครับ
ขอขอบคุณอาจารย์มากๆครับ
14 @R16219
โหลดตัวอย่างกลับไปดูครับ
ตัวอย่าง
วิธีทำก็ทำอย่างที่ผมเขียนทุกประการณ์อ่ะครับ เลยไม่รู้ว่าคุณทำผิดตรงไหน
ตัวอย่าง
วิธีทำก็ทำอย่างที่ผมเขียนทุกประการณ์อ่ะครับ เลยไม่รู้ว่าคุณทำผิดตรงไหน
15 @R16228
ขอบคุณครับอาจารย์
ขอโทษที่กระผมเข้ามาดูช้าครับ พอดีรีบกลับบ้านต่างจังหวัดครับ
จากตัวอย่างที่อาจารย์แนะนำมา ตอนนี้ติดเพียง
มันไม่ Run 5 Record ก่อนครับ ผมอาจจะสอบถามคำถามไม่ครบจะขอ
ถามอาจารอีกครั้งครับ
ผมมีตาราง Qr
มี ฟิวส์
1. อยากให้ตัวเลข Run Number ประมาณ
คือ 0001/56
0001/56
0001/56
0001/56
0001/56
แล้วค่อยเปลี่ยนครับ
0002/56
0002/56
0002/56
0002/56
0002/56
2. เช็ควันที่หากขึ้นวันใหม่ สมมุติ Run 0002/56 ได้ 4 Record หากเป็นวันใหม่แล้วให้เป็น 0003/56 เลยครับและ Run 5 Record ไปตามปกติครับ
3.เปลี่ยนปี 56 เป็น 57 เมื่อปี พ.ศ.เปลี่ยน
ถึง ณ ตอนนี้ที่อาจารย์กรุณาผมมา ติดตรงข้อ 2 ครับตอนนี้เลขมันเปลี่ยนทุกครั้งเมื่อขึ้น Record ใหม่ครับ
ตอนนี้ ความต้องการ
0001/56 0001/56
0002/56 0001/56
0003/56 0001/56
0001/56
0001/56
0002/56
0002/56
0002/56
0002/56
0002/56
0003/56
0003/56 ....
ตอนนี้ก็ติดตรงข้อ2 ละครับ
ขอบคุณอาจารย์มากครับ
ขอโทษที่กระผมเข้ามาดูช้าครับ พอดีรีบกลับบ้านต่างจังหวัดครับ
จากตัวอย่างที่อาจารย์แนะนำมา ตอนนี้ติดเพียง
มันไม่ Run 5 Record ก่อนครับ ผมอาจจะสอบถามคำถามไม่ครบจะขอ
ถามอาจารอีกครั้งครับ
ผมมีตาราง Qr
มี ฟิวส์
1. อยากให้ตัวเลข Run Number ประมาณ
คือ 0001/56
0001/56
0001/56
0001/56
0001/56
แล้วค่อยเปลี่ยนครับ
0002/56
0002/56
0002/56
0002/56
0002/56
2. เช็ควันที่หากขึ้นวันใหม่ สมมุติ Run 0002/56 ได้ 4 Record หากเป็นวันใหม่แล้วให้เป็น 0003/56 เลยครับและ Run 5 Record ไปตามปกติครับ
3.เปลี่ยนปี 56 เป็น 57 เมื่อปี พ.ศ.เปลี่ยน
ถึง ณ ตอนนี้ที่อาจารย์กรุณาผมมา ติดตรงข้อ 2 ครับตอนนี้เลขมันเปลี่ยนทุกครั้งเมื่อขึ้น Record ใหม่ครับ
ตอนนี้ ความต้องการ
0001/56 0001/56
0002/56 0001/56
0003/56 0001/56
0001/56
0001/56
0002/56
0002/56
0002/56
0002/56
0002/56
0003/56
0003/56 ....
ตอนนี้ก็ติดตรงข้อ2 ละครับ
ขอบคุณอาจารย์มากครับ
16 @R16229
เรียนอาจารย์ TTT และทุกท่านครับ
ผมลองแก้ไขโดยใส่เงื่อนไขเช็ควันที่แบบงมๆ ปรากฎว่าตอนนี้พอเวลาวันที่เปลี่ยน เช่นเดิม 0002/56 พอเปลี่ยนวัน ก็จะเป็น 0003/56 แล้วแต่ตัวต่อมาเป็น 0001/56 แทน รบกวนอาจารย์ช่วยดูให้ด้วยครับ ตอนนี้ติดตรง Run ตรงนี้ไปไหนต่อไม่ได้เลยครับ
ขอบพระคุณครับ
Private Sub zzz_Click()
If IsNull(A_NoCh) Or A_NoCh & "" = "" Then
Dim AAA As Long, CCC As Long, BBB As Long
AAA = DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Date, "d/m/yyyy") & "#") * 5
BBB = DMax("aDate", "Qr")
If Form_Ma.Text8.Value > BBB Then
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") + AAA + 1
Else
CCC = DCount("zzz", "Qr") + 1
End If
zzz.Value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
End Sub
ผมลองแก้ไขโดยใส่เงื่อนไขเช็ควันที่แบบงมๆ ปรากฎว่าตอนนี้พอเวลาวันที่เปลี่ยน เช่นเดิม 0002/56 พอเปลี่ยนวัน ก็จะเป็น 0003/56 แล้วแต่ตัวต่อมาเป็น 0001/56 แทน รบกวนอาจารย์ช่วยดูให้ด้วยครับ ตอนนี้ติดตรง Run ตรงนี้ไปไหนต่อไม่ได้เลยครับ
ขอบพระคุณครับ
Private Sub zzz_Click()
If IsNull(A_NoCh) Or A_NoCh & "" = "" Then
Dim AAA As Long, CCC As Long, BBB As Long
AAA = DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Date, "d/m/yyyy") & "#") * 5
BBB = DMax("aDate", "Qr")
If Form_Ma.Text8.Value > BBB Then
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Date, "yyyy/m/d") & "#") + AAA + 1
Else
CCC = DCount("zzz", "Qr") + 1
End If
zzz.Value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
End Sub
17 @R16230
คุณได้โหลดไฟล์ที่ผมแก้กลับไปดูหรือยังครับ ผมว่ามันได้แล้วนะ งงอ่ะ
http://cloudbox.3bb.co.th/share3/NzUzOXw0YWFkZDY2MTkwOGIxODFkMDU5YTExN2YwMmZiYzllY3wzNTMwOA==
http://cloudbox.3bb.co.th/share3/NzUzOXw0YWFkZDY2MTkwOGIxODFkMDU5YTExN2YwMmZiYzllY3wzNTMwOA==
18 @R16235
ขอขอบคุณอาจารย์อีกครั้งครับ
ต้องขอประทานโทษอาจารย์ด้วยครับ พอดีคอมผมมันมีปัญหา พอลง Windows ใหม่แล้ว ลองRun ของอาจารย์ดูตอนนี้สำเร็จแล้วครับ
ตอนนี้ได้แล้วครับ งานผมเริ่มไปได้แล้วครับ
เป็นความกรุณาอย่างสูงครับ
ขอขอบคุณท่านอาจารย์อีกครั้งครับ
ต้องขอประทานโทษอาจารย์ด้วยครับ พอดีคอมผมมันมีปัญหา พอลง Windows ใหม่แล้ว ลองRun ของอาจารย์ดูตอนนี้สำเร็จแล้วครับ
ตอนนี้ได้แล้วครับ งานผมเริ่มไปได้แล้วครับ
เป็นความกรุณาอย่างสูงครับ
ขอขอบคุณท่านอาจารย์อีกครั้งครับ
19 @R16236
เพิ่มเติมให้นิดหน่อยนะครับ ลองทำดูก็ได้ ไม่ทำก็ได้
คือจริงๆแล้วผมว่า เราอาจไม่จำเป็นต้องเทียบกับวันปัจจุบันอย่างเดียวก็ได้ครับ เทียบกับวันที่ในเรคคอร์ดฟิลด์ aDate ไปเลยน่าจะยืดหยุ่นกว่า ประมาณนี้
If Me.zzz & "" = "" Then
Dim AAA As Long, CCC As Long
AAA = Nz(DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Me.aDate, "yyyy/m/d") & "#"), 0) * 5
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Me.aDate, "yyyy/m/d") & "#") + AAA + 1
zzz.Value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
คือจริงๆแล้วผมว่า เราอาจไม่จำเป็นต้องเทียบกับวันปัจจุบันอย่างเดียวก็ได้ครับ เทียบกับวันที่ในเรคคอร์ดฟิลด์ aDate ไปเลยน่าจะยืดหยุ่นกว่า ประมาณนี้
If Me.zzz & "" = "" Then
Dim AAA As Long, CCC As Long
AAA = Nz(DMax("Left([zzz],4)", "Qr", "aDate < #" & Format(Me.aDate, "yyyy/m/d") & "#"), 0) * 5
CCC = DCount("zzz", "Qr", "aDate = #" & Format(Me.aDate, "yyyy/m/d") & "#") + AAA + 1
zzz.Value = Format(Int((CCC + (5 - 1)) / 5), "0000") & "/" & Format(Date, "yy")
End If
20 @R16237
เรียนอาจารย์ครับ ตอนแรกโปรแกรม Run ได้นะครับ
แต่ ลองอีกทีมันก็เป็นประมาณ
จากตัวอย่างที่ผมส่งกลับไปประมาณตรงที่ 0005/56 ลงมา
มันจะต้องเป็น
RunNum
0005/56
0005/56
0005/56
0005/56
0005/56
0006/56
0006/56
0006/56
0006/56
0006/56
แต่ตอนนี้ Run แล้วได้
0005/56
0006/56
0007/56
ตามตัวอย่างที่ส่งกลับมาครับ
มันเกิดจากอะไรครับ ขอรบกวนอาจารญด้วยครับขอบคุณครับ
http://www.ziddu.com/download/22311819/Test1.rar.html
แต่ ลองอีกทีมันก็เป็นประมาณ
จากตัวอย่างที่ผมส่งกลับไปประมาณตรงที่ 0005/56 ลงมา
มันจะต้องเป็น
RunNum
0005/56
0005/56
0005/56
0005/56
0005/56
0006/56
0006/56
0006/56
0006/56
0006/56
แต่ตอนนี้ Run แล้วได้
0005/56
0006/56
0007/56
ตามตัวอย่างที่ส่งกลับมาครับ
มันเกิดจากอะไรครับ ขอรบกวนอาจารญด้วยครับขอบคุณครับ
http://www.ziddu.com/download/22311819/Test1.rar.html
Time: 0.2981s
ช่วยรบกวนทุกท่านด้วยครับ หรือจะให้ผมส่ง File หรืออธิบายตรงไหนช่วยแจ้งด้วยครับ
ขอบคุณครับ