ฟังก์ชัน DateAdd

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ส่งกลับ ตัวแปร (วันที่) ที่มีวันที่ที่เพิ่มช่วงเวลาที่ระบุ

ไวยากรณ์

DateAdd(interval, number, date)

ไวยากรณ์ของฟังก์ชัน DateAdd มีอาร์กิวเมนต์ดังนี้

อาร์กิวเมนต์ คำอธิบาย
ช่วงเวลา จำเป็น นิพจน์สตริงที่เป็นช่วงเวลาที่คุณต้องการเพิ่ม
หมาย เลข จำเป็น นิพจน์ตัวเลขที่เป็นจํานวนช่วงที่คุณต้องการเพิ่ม ซึ่งอาจเป็นค่าบวก (เพื่อรับวันที่ในอนาคต) หรือเป็นค่าลบ (เพื่อดูวันที่ในอดีต)
วัน จำเป็น ตัวแปร (วันที่) หรือแสดงวันที่ที่เพิ่มช่วงตามตัวอักษร

การตั้งค่า

อาร์กิวเมนต์ช่วงเวลามีการตั้งค่าเหล่านี้:

การตั้งค่า คำอธิบาย
yyyy ปี
q ไตรมาส
m เดือน
y วันของปี
d วัน
w วันทำงาน
ww สัปดาห์
h ชั่วโมง
n นาที
s วินาที

ข้อสังเกต

คุณสามารถใช้ฟังก์ชัน DateAdd เพื่อเพิ่มหรือลบช่วงเวลาที่ระบุจากวันที่ ตัวอย่างเช่น คุณสามารถใช้ DateAdd เพื่อคํานวณวันที่ 30 วันนับจากวันนี้ หรือเวลา 45 นาทีนับจากนี้

เมื่อต้องการเพิ่ม วันในวันที่ คุณสามารถใช้ วันของปี ("y"), วัน ("d") หรือ วันทํางาน ("w")

ฟังก์ชัน DateAdd จะไม่ส่งกลับวันที่ที่ไม่ถูกต้อง ตัวอย่างต่อไปนี้เพิ่มหนึ่งเดือนลงในวันที่ 31 มกราคม:


DateAdd("m", 1, "31-Jan-95")

ในกรณีนี้ DateAdd จะส่งกลับค่า 28-ก.พ.-95 ไม่ใช่ 31-ก.พ.-95 ถ้า date เป็น 31 ม.ค. 96 จะส่งกลับ 29-ก.พ. 96 เนื่องจาก 1996 เป็นปีอธิกสุรทิน

ถ้าวันที่จากการคํานวณจะนําหน้าปี 100 (นั่นคือ คุณลบจํานวนปีมากกว่า วันที่) จะมีข้อผิดพลาดเกิดขึ้น

ถ้า number ไม่ใช่ค่า Long ฟังก์ชันจะถูกปัดเศษเป็นจํานวนเต็มที่ใกล้ที่สุดก่อนที่จะถูกประเมิน

หมายเหตุ

รูปแบบของค่าส่งกลับสําหรับ DateAdd จะถูกกําหนดโดยการตั้งค่าแผงควบคุม ไม่ใช่ตามรูปแบบที่ส่งผ่านในอาร์กิวเมนต์วันที่

หมายเหตุ

สําหรับวันที่ ถ้าการตั้งค่าคุณสมบัติ Calendar เป็นคริสต์ศักดิก ถ้าปฏิทินเป็นฮิจเราะห์ วันที่ที่ระบุต้องเป็นฮิจเราะห์ ถ้าค่าเดือนเป็นชื่อ ชื่อจะต้องสอดคล้องกับการตั้งค่าคุณสมบัติ Calendar ปัจจุบัน เมื่อต้องการลดความเป็นไปได้ของชื่อเดือนที่ขัดแย้งกับการตั้งค่าคุณสมบัติ Calendar ปัจจุบัน ให้ใส่ค่าเดือนที่เป็นตัวเลข (รูปแบบวันที่แบบสั้น)

ตัวอย่างคิวรี

นิพจน์ ผลลัพธ์
SELECT DateAdd("YYYY",1,[DateofSale]) AS Expr1 FROM ProductSales; ส่งกลับผลลัพธ์โดยการเพิ่ม 1 ปีไปยังค่าวันที่ของเขตข้อมูล "DateofSale"
SELECT DateAdd("YYYY",-1,[DateofSale]) AS Expr1 FROM ProductSales; ส่งกลับผลลัพธ์โดยการลบ 1 ปีไปยังค่าวันที่ของเขตข้อมูล "DateofSale"
SELECT DateAdd("d",10,[DateofSale]) AS NewDate FROM ProductSales; ส่งกลับผลลัพธ์ในคอลัมน์ "วันที่ใหม่" ด้วยการเพิ่ม 10 วันไปยังค่าวันที่ของเขตข้อมูล "DateofSale"
SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM ProductSales; ส่งกลับผลลัพธ์ในคอลัมน์ "วันที่ใหม่" ด้วยการลบ 1 สัปดาห์ (7 วัน) ออกจากค่าวันที่ของเขตข้อมูล "DateofSale"

ตัวอย่าง VBA

หมายเหตุ

ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้ดูที่ การอ้างอิง VBA ของ Access

ตัวอย่างนี้ใช้วันที่เป็นข้อมูลป้อนเข้าและใช้ฟังก์ชัน DateAdd เพื่อแสดงวันที่ที่สอดคล้องกันตามจํานวนเดือนที่ระบุในอนาคต


Dim FirstDate As Date    ' Declare variables.
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType = "m"    ' "m" specifies months as interval.
FirstDate = InputBox("Enter a date")
Number = InputBox("Enter number of months to add")
Msg = "New date: " & _
    DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg

ดูเพิ่มเติม

การเลือกฟังก์ชันวันที่ที่ถูกต้อง