กระทู้เก่าบอร์ด อ.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 ต้องการกำหนดว่าจะใส่ค่าหรือไม่ใส่ค่าก็ได้ ปัจจุบันใช้ 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
2 @R11687
ขอบคุณมากค่ะ ได้แล้วค่ะ
Time: 0.3582s
อีกส่วนคือฟอร์แมทของวันที่ที่เขียนว่า 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