กระทู้เก่าบอร์ด อ.Yeadram
        
           1,526   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.0586s
    
      
		
อีกส่วนคือฟอร์แมทของวันที่ที่เขียนว่า 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