กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
298 1
URL.หัวข้อ /
URL
สั่งพิมพ์แบบเงื่อนไขผสมไม่ยอมแสดงข้อมูล
DoCmd.OpenReport Me.SndFrm, acViewPreview, "", Me.Value1 & " Between '" & Me.frt1 & "' And '" & Me.end1 & "' And '" & Me.Value2 & "' Between #" & Format(Me.frt2, "dd/mm/yyyy") & "# And #" & Format(Me.end2, "dd/mm/yyyy") & "#"
จากโค้ดที่ส่งให้ดู ถ้าระบุเงื่อนไข ตาม frt1 และ end1 หรือ frt2 และ end2 อย่างใดอย่างหนึ่งจะแสดงข้อมูลถูกต้อง แตะถ้าใช้สองเงื่อนไขแบบด้านบนจะไม่พบข้อมูล ไม่ทราบว่าเขียนโค้ดผิดตรงไหน
ปล.ขอบคุณสำหรับคำตอบกระทู้ 00748 ครับ
จากโค้ดที่ส่งให้ดู ถ้าระบุเงื่อนไข ตาม frt1 และ end1 หรือ frt2 และ end2 อย่างใดอย่างหนึ่งจะแสดงข้อมูลถูกต้อง แตะถ้าใช้สองเงื่อนไขแบบด้านบนจะไม่พบข้อมูล ไม่ทราบว่าเขียนโค้ดผิดตรงไหน
ปล.ขอบคุณสำหรับคำตอบกระทู้ 00748 ครับ
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R01526
ควรจะแยกบันทัดของโค้ดให้อ่านได้เข้าใจได้ง่ายนะครับ
เผื่อวันหลังต้องกลับมาดูโค้ดตัวนี้อีกจะได้เข้าใจได้ไวขึ้น
Dim strWhereClause As String
strWhereClause = Me.Value1 & " Between '" & Me.frt1 & "' And '" & Me.end1 & "' And " & Me.Value2 & " Between #" & Format(Me.frt2, "dd/mm/yyyy") & "# And #" & Format(Me.end2, "dd/mm/yyyy") & "#"
DoCmd.OpenReport Me.SndFrm, acViewPreview, "", strWhereClause
ให้เอา ' ก่อนและหลัง AND ตัวที่ 2 ออกครับ
หรือลองใช้วงเล็บเข้าช่วยแยกแต่ละเงือนไขเพื่อให้ดูง่ายขึ้นหรือใช้ OR operator ดู โดยการแทน AND ตัวที่ 2 เพื่อดูว่าอาจมีเงื่อนไขที่ไม่ตรงกับที่ใส่ลงไปก็ได้ครับ
หรือจะใช้ MsgBox ช่วยแสดง strWhereClause ว่าส่งค่าออกมาได้ถูกต้องหรือไม่ มีอะไรขาดหรือเกินหรือไม่ครับ
Time: 0.1304s