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