สั่งพิมพ์แบบเงื่อนไขผสมไม่ยอมแสดงข้อมูล
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 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 ครับ

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 ว่าส่งค่าออกมาได้ถูกต้องหรือไม่ มีอะไรขาดหรือเกินหรือไม่ครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1304s