ฟังก์ชัน 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

ดูเพิ่มเติม

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