ฟังก์ชัน DateAdd

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

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

ไวยากรณ์

DateAdd(interval, number, date)

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

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

การตั้งค่า

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

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

ข้อสังเกต

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

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

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

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

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

ถ้าวันที่จากการคํานวณจะนําหน้าปี 100 ซึ่งหมายความว่าคุณลบจํานวนปีมากกว่าที่อยู่ใน dateจะเกิดข้อผิดพลาดขึ้น

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

หมายเหตุ

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

หมายเหตุ

สําหรับ dateถ้า 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 เขตข้อมูลและส่งกลับผลลัพธ์ใน NewDate คอลัมน์
SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM ProductSales; ลบ 1 สัปดาห์ หรือ 7 วันจากค่าวันที่ใน DateofSale เขตข้อมูลและส่งกลับผลลัพธ์ใน NewDate คอลัมน์

ตัวอย่าง 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

ดูเพิ่มเติม

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