กระทู้เก่าบอร์ด อ.Yeadram
1,021 5
URL.หัวข้อ /
URL
ช่วยเรื่อง IF ด้วยครับ
เรียนอาจารย์และทุกๆท่านครับ
ผมต้องการ Run หมายเลขแต่ติดเงื่อนไขดังนี้ครับ
1.ต้องเช็คก่อนว่าเป็นค่าเริ่มต้นในระบบใช่หรื่อไม่ถ้าใช่
จะได้ "IPI" & "0001" & "/" & "ปี" ปี คือ Format(Date,"YY")
2.เช็คว่า B_NoIPI เป็นค่าว่างใช่หรือไม่(เพื่อป้องกัน Userคลิกซ้ำ)ถ้าใช่
ให้บวก1 ที่B_NoIPI ครับ
Code ที่ผมเขียนได้
Private Sub B_NoIPI_Click()
If Me.B_NoIPI = IsNull(Me.B_NoIPI) Then
Me.B_NoIPI = "IPI" & "0001" & "/" & "ปี"
If Me.B_NoIPI = "" Then
intMax = Nz(DMax("Val(Mid(B_NoIPI,4,4))", "Qr_TwoPD2Last", "B_NoIPI"), 0)
Me.B_NoIPI = AA & Format(intMax + 1, "0000") & BB & "ปี"
Else
MsgBox "คุณกำลังพยายามเปลี่ยนหมายเลขที่มีอยู่"
Endif
Endif
EndSub
คำถามครับ ตอนนี้มันไม่ขึ้นอะไรเลยครับ พอจะมีวิธีเขียนใหม่ หรือช่วยผมแก้ไขด้วยครับ
ขอบคุณครับ
ผมต้องการ Run หมายเลขแต่ติดเงื่อนไขดังนี้ครับ
1.ต้องเช็คก่อนว่าเป็นค่าเริ่มต้นในระบบใช่หรื่อไม่ถ้าใช่
จะได้ "IPI" & "0001" & "/" & "ปี" ปี คือ Format(Date,"YY")
2.เช็คว่า B_NoIPI เป็นค่าว่างใช่หรือไม่(เพื่อป้องกัน Userคลิกซ้ำ)ถ้าใช่
ให้บวก1 ที่B_NoIPI ครับ
Code ที่ผมเขียนได้
Private Sub B_NoIPI_Click()
If Me.B_NoIPI = IsNull(Me.B_NoIPI) Then
Me.B_NoIPI = "IPI" & "0001" & "/" & "ปี"
If Me.B_NoIPI = "" Then
intMax = Nz(DMax("Val(Mid(B_NoIPI,4,4))", "Qr_TwoPD2Last", "B_NoIPI"), 0)
Me.B_NoIPI = AA & Format(intMax + 1, "0000") & BB & "ปี"
Else
MsgBox "คุณกำลังพยายามเปลี่ยนหมายเลขที่มีอยู่"
Endif
Endif
EndSub
คำถามครับ ตอนนี้มันไม่ขึ้นอะไรเลยครับ พอจะมีวิธีเขียนใหม่ หรือช่วยผมแก้ไขด้วยครับ
ขอบคุณครับ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R16402
ขอบคุณครับ พอดีเครื่องเดียวใช้หลายคนเลยครับ
ลองคุยกันแล้วเอาเงื่อนไขเป็นแบบนี้ครับ
เอาเป็นเงื่อนไขแบบด้านบนครับ แต่ลองแล้วก็ยังงงครับ
มันไม่ได้ซะทีครับ
ตอนแรกที่ พิ้ง เขาสอบถามมา ได้แล้วครับ
แต่พอใช้งานทดสอบเพื่อจะส่ง มันติดตรงถ้า มีเลขอยู่แล้ว
แล้วดันไปกดซ้ำที่เดิม ประมาณตัวแรก IPI0001/56 แถว2 เป็น IPI0002/56
แต่พอเพลอกลับไปคลิกที่ตัวแรก IPI0003/56 คือต้องการไม่ให้เปลี่ยนค่าแถวที่ได้รับหมายเลขไปแล้วครับ
ขอบคุณครับ
อาจจะเข้ามาถามคำถามคล้ายๆกันหลายคน ต้องขอโทษทุกท่านไว้ ณ ที่นี้ด้วยครับ
แต่โปรเจคอาจารย์เขาเร่งจริงๆครับ คือเป็นมือใหม่ทั้งหมดครับ
ขอรบกวนช่วยเพิ่มเงื่อนไขตรวจสอบให้ผมด้วยครับ
ขอบคุณครับ
ลองคุยกันแล้วเอาเงื่อนไขเป็นแบบนี้ครับ
เอาเป็นเงื่อนไขแบบด้านบนครับ แต่ลองแล้วก็ยังงงครับ
มันไม่ได้ซะทีครับ
ตอนแรกที่ พิ้ง เขาสอบถามมา ได้แล้วครับ
แต่พอใช้งานทดสอบเพื่อจะส่ง มันติดตรงถ้า มีเลขอยู่แล้ว
แล้วดันไปกดซ้ำที่เดิม ประมาณตัวแรก IPI0001/56 แถว2 เป็น IPI0002/56
แต่พอเพลอกลับไปคลิกที่ตัวแรก IPI0003/56 คือต้องการไม่ให้เปลี่ยนค่าแถวที่ได้รับหมายเลขไปแล้วครับ
ขอบคุณครับ
อาจจะเข้ามาถามคำถามคล้ายๆกันหลายคน ต้องขอโทษทุกท่านไว้ ณ ที่นี้ด้วยครับ
แต่โปรเจคอาจารย์เขาเร่งจริงๆครับ คือเป็นมือใหม่ทั้งหมดครับ
ขอรบกวนช่วยเพิ่มเงื่อนไขตรวจสอบให้ผมด้วยครับ
ขอบคุณครับ
3 @R16413
เนื่องจากไม่เข้าใจว่า B_NoiPI เป็น control ประเภทไหน และเป็น bound data หรือไม่
ก็ได้แต่เดาเอา ประมาณนี้ครับ
ก็ได้แต่เดาเอา ประมาณนี้ครับ
Private Sub B_NoIPI_Click()
If IsNull(Me.B_NoIPI) Then
intMax = Nz(DMax("Val(Mid(B_NoIPI,4,4))", "Qr_TwoPD2Last", "B_NoIPI"), 0)
Me.B_NoIPI = AA & Format(intMax + 1, "0000") & BB & "ปี"
Else
MsgBox "คุณกำลังพยายามเปลี่ยนหมายเลขที่มีอยู่"
Endif
EndSub
4 @R16416
ขอบคุณมากครับคุณ PichaiTC ได้เปะเลยครับ
พอจะมีทิปการคิดแปบนี้หรือไม่ครับ
ผมพยายามคิด IF หลายครั้งแต่ชอบมาหลงตรงเงื่อนไขตลอดเลยครับ
ประมาณเงื่นไข Else จะชอบหลงมากเลยครับ คือพอทั้ง2เงื่อนไขมี Else ผมก็จะไปไม่ได้ละว่า จะให้มันหลดอย่างไรในเมื่อมีเงื่อนไข Else 2 ตัว ก็เลยกลับไปคิด If ใหม่พอจะมีแนวคิดแบบไหนให้เข้าใจได้ง่ายๆ หรือเปล่าครับ
อันนี้ผมขอเป็นแนวคิดติดสมองหน่อยครับ ขอบคุณครับ
คือเคยลองทบทวน ดูมันก็ไม่น่ายากแต่ทำไม ผมคิดยังไงก็ไม่ออกครับ
ขอบคุณ PichaiTC อีกครั้งครับ
พอจะมีทิปการคิดแปบนี้หรือไม่ครับ
ผมพยายามคิด IF หลายครั้งแต่ชอบมาหลงตรงเงื่อนไขตลอดเลยครับ
ประมาณเงื่นไข Else จะชอบหลงมากเลยครับ คือพอทั้ง2เงื่อนไขมี Else ผมก็จะไปไม่ได้ละว่า จะให้มันหลดอย่างไรในเมื่อมีเงื่อนไข Else 2 ตัว ก็เลยกลับไปคิด If ใหม่พอจะมีแนวคิดแบบไหนให้เข้าใจได้ง่ายๆ หรือเปล่าครับ
อันนี้ผมขอเป็นแนวคิดติดสมองหน่อยครับ ขอบคุณครับ
คือเคยลองทบทวน ดูมันก็ไม่น่ายากแต่ทำไม ผมคิดยังไงก็ไม่ออกครับ
ขอบคุณ PichaiTC อีกครั้งครับ
5 @R16422
หลักคิดเงื่อนไข If คือ
1. เข้าใจโจทย์ก่อน
2. ตีความเงื่อนไขออกมาเป็นข้อๆ
3. หาความสัมพันธ์ของเงื่อนไขแต่ละข้อเพื่อเพิ่มประสิทธิภาพ
4. แปลเงื่อนไขให้เป็น code
ประมาณนี้กระมังครับ
1. เข้าใจโจทย์ก่อน
2. ตีความเงื่อนไขออกมาเป็นข้อๆ
3. หาความสัมพันธ์ของเงื่อนไขแต่ละข้อเพื่อเพิ่มประสิทธิภาพ
4. แปลเงื่อนไขให้เป็น code
ประมาณนี้กระมังครับ
Time: 0.2795s
คุยสรุปกันก่อนว่าที่จริงเงื่อนไขขั้นตอนเป็นอย่างไรบ้าง
ทำความเข้าใจกับ code ที่มีอยู่แล้ว ซึ่งตอนนี้ก็ใกล้ถูกแล้ว
2 คนช่วยกันคิดเดี๋ยวก็ได้แล้วครับ
แย่งกันถามแบบนี้คนตอบงงครับ