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