ส่งกลับ ตัวแปร (วันที่) ที่มีวันที่ที่เพิ่มช่วงเวลาที่ระบุ
ไวยากรณ์
DateAdd ( interval, number, date )
ไวยากรณ์ของฟังก์ชัน DateAdd มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ |
คำอธิบาย |
---|---|
ช่วงเวลา |
จำเป็น นิพจน์สตริงที่เป็นช่วงเวลาที่คุณต้องการเพิ่ม |
หมายเลข |
จำเป็น นิพจน์ตัวเลขที่เป็นจํานวนช่วงที่คุณต้องการเพิ่ม ซึ่งอาจเป็นค่าบวก (เพื่อรับวันที่ในอนาคต) หรือเป็นค่าลบ (เพื่อดูวันที่ในอดีต) |
date |
จำเป็น ตัวแปร (วันที่) หรือแสดงวันที่ที่เพิ่มช่วงตามตัวอักษร |
การตั้งค่า
ช่วงเวลา อาร์กิวเมนต์ มีการตั้งค่าเหล่านี้:
การตั้งค่า |
คำอธิบาย |
---|---|
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 จะถูกกําหนดโดยการตั้งค่าแผงควบคุม ไม่ใช่ตามรูปแบบที่ส่งผ่านในอาร์กิวเมนต์วันที่
หมายเหตุ: สําหรับ วันที่ ถ้าการตั้งค่าคุณสมบัติ ปฏิทิน เป็น คริสต์ศักดิก ถ้าปฏิทินเป็นฮิจเราะห์ วันที่ที่ระบุต้องเป็นฮิจเราะห์ ถ้าค่าของเดือนเป็นชื่อ ชื่อจะต้องสอดคล้องกับการตั้งค่าคุณสมบัติ ปฏิทิน ปัจจุบัน เมื่อต้องการลดความเป็นไปได้ของชื่อเดือนที่ขัดแย้งกับการตั้งค่าคุณสมบัติ ปฏิทิน ปัจจุบัน ให้ใส่ค่าเดือนที่เป็นตัวเลข (รูปแบบวันที่แบบสั้น)
ตัวอย่างคิวรี
Expression |
ผลลัพธ์ |
---|---|
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