การกำหนดเงื่อนไข
กระทู้เก่าบอร์ด อ.Yeadram

 1,340   2
URL.หัวข้อ / URL
การกำหนดเงื่อนไข

ต้องการกำหนดเงื่อนไขในการ ดึงรายงานโดยมี 2 เงื่อนไขคือ 1. ดึงระหว่าง begCode - EndCode และ 2 ระหว่างวันที่xx - วันที่xx

ในเงื่อนไขที่ 2 ต้องการกำหนดว่าจะใส่ค่าหรือไม่ใส่ค่าก็ได้ ปัจจุบันใช้ Code (ด้านล่าง) ไม่ error แต่ report ไม่แสดงข้อมูล รบกวนด้วยค่ะ


Private Sub bt_OK_Click()
    Dim rcriteria As String
    Set myDB = CurrentDb
        mySQL = "select * from Q_RP_PO"
    Set myRec = myDB.OpenRecordset(mySQL)
        rcriteria = "([custcode] between '" & Me.BegCust & "' and '" & Me.EndCust & "') and " & _
                    "([PoDate] BETWEEN #" & Format(Me.PoDateFr, "dd/mm/yyyy") & "# AND #" & Format(Me.PoDateTo, "dd/mm/yyyy") & "#) "
       
        DoCmd.OpenReport "rp_POSumByCust", acViewPreview, , rcriteria
End Sub

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

1 @R11683
เวลาที่ textbox ว่างๆ มันอาจเป็นได้ทั้ง Null string หรือ Zero-length string ก็ได้ เราสามารถใช้ฟังก์ชั่น Nz( ) เพื่อตรวจสอบได้

อีกส่วนคือฟอร์แมทของวันที่ที่เขียนว่า dd/mm/yyyy นั่น ผมแนะนำให้เขียนเป็น dd-mmm-yyyy หรือจะ dd/mmm/yyyy ก็ได้ เพราะ mmm จะแปลงออกมาเป็นชื่อเดือน เวลาตัวจัดการข้อมูล (อาจเป็น DAO หรือ ADO) นำเอาข้อความนี้ไปใช้ มันจะได้เข้าใจได้อย่างแน่ชัด จะได้ไม่เข้าใจผิดตีความสลับกันระหว่างเดือนและวัน

และไม่เห็นว่าโค้ดส่วนนี้จะเกี่ยวอะไรกับการแสดงรายงานเลย
        Set myDB = CurrentDb
        mySQL = "select * from Q_RP_PO"
        Set myRec = myDB.OpenRecordset(mySQL)

ดังนั้นโค้ดก็จะเป็น

Private Sub bt_OK_Click()
    Dim rcriteria As String

        rcriteria = "([custcode] between '" & Me.BegCust & "' and '" & Me.EndCust & "')

        if not Nz(Me.PoDateFr) and not Nz(Me.PoDateTo) then
             rcriteria = rcriteria & " and ([PoDate] BETWEEN #" & Format(Me.PoDateFr, "dd/mmm/yyyy") & "# AND #" & Format(Me.PoDateTo, "dd/mmm/yyyy") & "#)"
        end if
       
        DoCmd.OpenReport "rp_POSumByCust", acViewPreview, , rcriteria
End Sub
2 @R11687
ขอบคุณมากค่ะ ได้แล้วค่ะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3582s