กำหนดวันที่ใน Query โดยที่ไม่ต้องเข้ามาแก้สูตรทุก ๆ เดือน



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

13 พ.ย. 61 , 16:12:44
อ่าน 537 ครั้ง

assetthai

สวัสดีครับ ผมต้องการสร้าง Query ที่ใช้กรองวันที่  เช่น ณ เดือน พฤศจิกายน 2561(เดือน 11)  ผมทำ Query โดยกรองใช้คำสั่งนี้ครับ    between #02/11/2561# and #02/12/2561#  กรองใน Query ก็จะดึงข้อมูลในช่วงของวันที่ 2 พฤศจิกายน 2561 ถึง วันที่ 2 ธันวาคม 2561  แต่เมื่อถึงวันที่ 3 ของเดือน ธันวาคม 2561 (เดือน 12)  ผมอยากให้คำสั่ง เปลี่ยน ตรงเดือน และ ปี อัตโนมัติ เป็น  between #02/12/2561# and #02/01/2562"  คือ ที่ต้องการคือ ให้เดือนของวันที่เริ่มต้น และ วันที่สิ้นสุด เพิ่มขึ้นทีละ 1 เดือน เมื่อ ทุก ๆ วันที่ 3 ของเดือนโดยอัตโนมัติ ครับ  //ขอบคุณล่วงหน้าสำหรับคำตอบครับ
« แก้ไขครั้งสุดท้าย: 13 พ.ย. 61 , 16:35:01 โดย assetthai »

 

13 พ.ย. 61 , 21:50:18
ตอบกลับ #1

สันติสุข

Between IIf(Day(Date())>=3,DateSerial(Year(Date()),Month(Date()),2),DateSerial(Year(Date()),Month(Date())-1,2)) And IIf(Day(Date())>=3,DateSerial(Year(Date()),Month(Date())+1,2),DateSerial(Year(Date()),Month(Date()),2))

ความหมายก็คือ
หาข้อมูลระหว่างวันที่ (ถ้าวันที่ >= 3, ให้เป็นวันที่ 2 ของเดือนนี้, ถ้าไม่ใช่ก็เป็นวันที่ 2 ของเดือนที่แล้ว) และวันที่ (ถ้าวันที่ >= 3, ให้เป็นวันที่ 2 ของเดือนหน้า, ถ้าไม่ใช่ก็เป็นวันที่ 2 ของเดือนนี้)

ยังไงก็ตาม ถ้าดูตามเงื่อนไขที่คุณบอกมา จะพบว่าข้อมูลของวันที่ 2 จะนำมาหาผลลัพธ์ถ้าวันนี้เป็นวันที่ 2 เอง และแม้วันนี้จะเป็นวันที่ 3 ซึ่งเป็นวันที่เปลี่ยนเงื่อนไข แต่ข้อมูลของวันที่ 2 (เมื่อววาน) ก็ยังถูกนำมาหาผลลัพธ์อยู่ดี ลองพิจารณาดีๆว่าถูกต้องหรือไม่นะครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: assetthai

14 พ.ย. 61 , 08:28:30
ตอบกลับ #2

assetthai

ขอบคุณอาจารย์ มาก ๆ เลยครับ ตรงกับจุดประสงค์ที่ต้องการเลยครับ หวังว่ากระทู้นี้จะเป็นประโยชน์กับทุกๆ ท่านด้วยครับ  ขอบคุณอีกครั้งครับ :love: :love: :love:

 


บอร์ดเรียนรู้ Access สำหรับคนไทย