ส่งกลับ ตัวแปร (วันที่) ที่มีวันที่ที่เพิ่มช่วงเวลาที่ระบุ
ไวยากรณ์
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