ส่งกลับ ตัวแปร (สตริง) ที่มีนิพจน์ที่จัดรูปแบบตามที่คำแนะนำที่อยู่ในนิพจน์รูปแบบ
| คําเตือน มีปัญหากับการใช้ฟังก์ชันนี้ วันจันทร์สุดท้ายในบางปีปฏิทินสามารถส่งกลับเป็นสัปดาห์ที่ 53 เมื่อควรจะเป็นสัปดาห์ที่ 1 สําหรับข้อมูลเพิ่มเติมและวิธีแก้ไขปัญหาชั่วคราว ให้ดูที่ ฟังก์ชัน Format หรือ DatePart อาจส่งคืนหมายเลขสัปดาห์ที่ไม่ถูกต้องสําหรับวันจันทร์สุดท้ายในปี |
|---|
ไวยากรณ์
Format( *นิพจน์ [, รูปแบบ ] [, วันแรกของสัปดาห์ ] [, สัปดาห์แรกของปี ] )
ไวยากรณ์ของฟังก์ชัน Format มีอาร์กิวเมนต์ดังต่อไปนี้
| อาร์กิวเมนต์ | คำอธิบาย |
|---|---|
| นิพจน์ | จำเป็น นิพจร์ที่ถูกต้องใดก็ได้ |
| รูปแบบ | ไม่จำเป็น นิพจน์รูปแบบที่มีชื่อหรือกําหนดโดยผู้ใช้ที่ถูกต้อง |
| วันแรกของสัปดาห์ | ไม่จำเป็น ค่าคงที่ที่ระบุวันแรกของสัปดาห์ |
| สัปดาห์แรกของปี | ไม่จำเป็น ค่าคงที่ที่ระบุสัปดาห์แรกของปี |
การตั้งค่า
อาร์กิวเมนต์รูปแบบสามารถใช้การตั้งค่าที่หลากหลาย โดยขึ้นอยู่กับชนิดข้อมูลของอาร์กิวเมนต์นิพจน์ ดูบทความที่แสดงอยู่ในตารางต่อไปนี้สําหรับข้อมูลเพิ่มเติมเกี่ยวกับนิพจน์รูปแบบที่ถูกต้อง
| สําหรับนิพจน์ที่ใช้ชนิดข้อมูลนี้... | ดูบทความ |
|---|---|
| ชนิดใดก็ได้ | คุณสมบัติ 'รูปแบบ' (Format) |
| วันที่/เวลา | จัดรูปแบบเขตข้อมูลวันที่และเวลา |
| ตัวเลข | การจัดรูปแบบเขตข้อมูลตัวเลขหรือสกุลเงิน |
| ข้อความและบันทึกช่วยจํา | การจัดรูปแบบเขตข้อมูลข้อความ |
| ใช่/ไม่ใช่ | คุณสมบัติ 'รูปแบบ' - ชนิดข้อมูล Yes/No |
อาร์กิวเมนต์ วันแรกของสัปดาห์ มีการตั้งค่าเหล่านี้:
| ค่าคงที่ | ค่า | คำอธิบาย |
|---|---|---|
| vbUseSystem | 0 | ใช้การตั้งค่า NLS API |
| VbSunday | 1 | วันอาทิตย์ (ค่าเริ่มต้น) |
| vbMonday | 2 | วันจันทร์ |
| vbTuesday | 3 | วันอังคาร |
| vbWednesday | 4 | วันพุธ |
| vbThursday | 5 | วันพฤหัสบดี |
| vbFriday | 6 | วันศุกร์ |
| vbSaturday | 7 | วันเสาร์ |
อาร์กิวเมนต์ สัปดาห์แรกของปี มีการตั้งค่าเหล่านี้:
| ค่าคงที่ | ค่า | คำอธิบาย |
|---|---|---|
| vbUseSystem | 0 | ใช้การตั้งค่า NLS API |
| vbFirstJan1 | 1 | เริ่มต้นด้วยสัปดาห์ที่มีวันที่ 1 มกราคม (ค่าเริ่มต้น) |
| vbFirstFourDays | 2 | เริ่มต้นด้วยสัปดาห์แรกที่มีอย่างน้อยสี่วันในหนึ่งปี |
| vbFirstFullWeek | 3 | เริ่มต้นด้วยสัปดาห์เต็มสัปดาห์แรกของปี |
ข้อสังเกต
| เมื่อต้องการจัดรูปแบบ | ให้ทําสิ่งนี้ |
|---|---|
| ตัวเลข | ใช้รูปแบบตัวเลขที่มีชื่อที่กําหนดไว้ล่วงหน้าหรือสร้างรูปแบบตัวเลขที่ผู้ใช้กําหนดเอง |
| วันที่และเวลา | ใช้รูปแบบวันที่/เวลาที่ตั้งชื่อไว้ล่วงหน้าหรือสร้างรูปแบบวันที่/เวลาที่ผู้ใช้กําหนดเอง |
| เลขลําดับวันที่และเวลา | ใช้รูปแบบวันที่และเวลา หรือรูปแบบตัวเลข |
| สตริง | สร้างรูปแบบสตริงที่ผู้ใช้กําหนดเอง |
ถ้าคุณพยายามจัดรูปแบบตัวเลขโดยไม่ระบุ รูปแบบรูปแบบจะมี หน้าที่คล้ายกับฟังก์ชัน Str แม้ว่าจะมีการรับรู้ในระดับสากลก็ตาม อย่างไรก็ตาม จํานวนบวกที่จัดรูปแบบเป็นสตริงโดยใช้ Format จะ ไม่รวมช่องว่างนําหน้าที่สงวนไว้สําหรับเครื่องหมายของค่า สิ่งที่แปลงโดยใช้ Str จะรักษาช่องว่างนําหน้า
ถ้าคุณต้องการจัดรูปแบบสตริงตัวเลขที่ไม่ได้แปลเป็นภาษาท้องถิ่น คุณควรใช้รูปแบบตัวเลขที่ผู้ใช้กําหนดเองเพื่อให้แน่ใจว่าคุณจะได้ลักษณะที่คุณต้องการ
หมายเหตุ
ถ้าการตั้งค่าคุณสมบัติ Calendar เป็นแบบคริสต์ศักราชและรูปแบบระบุการจัดรูปแบบวันที่ นิพจน์ที่ให้มาจะต้องเป็นแบบคริสต์ศักราช ถ้าการตั้งค่าคุณสมบัติ Visual Basic Calendar เป็น Hijri นิพจน์ที่ให้มาจะต้องเป็น Hijri
ถ้าปฏิทินเป็นแบบคริสต์ศักราช ความหมายของสัญลักษณ์นิพจน์ รูปแบบ จะไม่เปลี่ยนแปลง ถ้าปฏิทินเป็นเทศกาลฮิจเราะห์ สัญลักษณ์รูปแบบวันที่ทั้งหมด (ตัวอย่างเช่น dddd, mmmm, yyyy) จะมีความหมายเดียวกันแต่จะนําไปใช้กับปฏิทินฮิจเราะห์ สัญลักษณ์รูปแบบยังคงเป็นภาษาอังกฤษ สัญลักษณ์ที่มีการแสดงผลเป็นข้อความ (ตัวอย่างเช่น AM และ PM) จะแสดงสตริง (ภาษาอังกฤษหรืออาหรับ) ที่เกี่ยวข้องกับสัญลักษณ์นั้น ช่วงของสัญลักษณ์บางสัญลักษณ์จะเปลี่ยนไปเมื่อปฏิทินเป็นเทศกาลฮิจเราะห์
| สัญลักษณ์ | พิสัย |
|---|---|
| d | 1-30 |
| dd | 1-30 |
| ww | 1-51 |
| mmm | แสดงชื่อเดือนแบบเต็ม (ชื่อเดือนฮิจเราะห์ไม่มีตัวย่อ) |
| y | 1-355 |
| yyyy | 100-9666 |
ตัวอย่าง
การใช้ฟังก์ชัน Format ในนิพจน์ คุณสามารถใช้ รูปแบบ ได้ ทุกที่ที่คุณสามารถใช้นิพจน์ ตัวอย่างเช่น คุณสามารถใช้ในคิวรีโดยเป็นส่วนหนึ่งของนามแฝงเขตข้อมูล หรือในคุณสมบัติ แหล่งตัวควบคุม ของกล่องข้อความบนฟอร์มหรือรายงาน ตัวอย่างต่อไปนี้แสดงนิพจน์ที่คุณอาจใช้ในคุณสมบัติ ตัวกรอง ของรายงานเพื่อจํากัดผลลัพธ์เป็นระเบียนจากสัปดาห์ก่อนหน้า
Format([Date],"ww")=Format(Now(),"ww")-1
ในตัวอย่างนี้ แหล่งระเบียนของรายงานมีเขตข้อมูลชื่อ วันที่ ซึ่งมีวันที่ที่แต่ละระเบียนถูกปรับเปลี่ยน และถูกใช้บนรายงาน เมื่อคุณเรียกใช้รายงาน ผลลัพธ์จะถูกกรองเพื่อแสดงเฉพาะระเบียนที่สัปดาห์สําหรับค่าในเขตข้อมูลวันที่ (Format([Date],"ww")) เท่ากับสัปดาห์ก่อนหน้า (Format(Now(),"ww")-1)
ใช้ฟังก์ชัน Format ในโค้ด VBA
หมายเหตุ
ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงนักพัฒนาในรายการ ดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
ตัวอย่างนี้แสดงการใช้ฟังก์ชัน Format ที่หลากหลายในการจัดรูปแบบค่าโดยใช้ทั้งรูปแบบที่มีชื่อและรูปแบบที่ผู้ใช้กําหนด สําหรับตัวคั่นวันที่ (/) ตัวคั่นเวลา (:) และตัวอักษร AM/ PM ผลลัพธ์ที่ถูกจัดรูปแบบจริงที่ระบบของคุณแสดงจะขึ้นอยู่กับการตั้งค่าตําแหน่งกระทําการของคอมพิวเตอร์ที่โค้ดกําลังทํางานอยู่ เมื่อเวลาและวันที่ถูกแสดงในสภาพแวดล้อมการพัฒนา รูปแบบเวลาแบบสั้นและรูปแบบวันที่แบบสั้นของตําแหน่งกระทําการของโค้ดจะถูกใช้ เมื่อแสดงโดยโค้ดเรียกใช้ จะใช้รูปแบบเวลาสั้นและรูปแบบวันที่สั้นของตําแหน่งกระทําการระบบ ซึ่งอาจแตกต่างจากตําแหน่งกระทําการของรหัส สําหรับตัวอย่างนี้ จะถือว่าเป็นตําแหน่งที่ตั้งภาษาอังกฤษของสหรัฐอเมริกา
MyTime และจะแสดง MyDate ในสภาพแวดล้อมการพัฒนาโดยใช้การตั้งค่าเวลาแบบสั้นของระบบปัจจุบันและการตั้งค่าวันที่แบบสั้น
Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
' Returns current system time in the system-defined long time format.
MyStr = Format(Time, "Long Time")
' Returns current system date in the system-defined long date format.
MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s") ' Returns "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Returns "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Returns "Wednesday,
' Jan 27 1993".
' If format is not supplied, a string is returned.
MyStr = Format(23) ' Returns "23".
' User-defined formats.
MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00") ' Returns "334.90".
MyStr = Format(5, "0.00%") ' Returns "500.00%".
MyStr = Format("HELLO", "<") ' Returns "hello".
MyStr = Format("This is it", ">") ' Returns "THIS IS IT".
การใช้ จัดรูปแบบ กับสตริงที่มีความยาวเป็นศูนย์
ใน Microsoft Access เวอร์ชัน 2.0 และเวอร์ชันก่อนหน้า คุณสามารถใช้ฟังก์ชัน Format เพื่อส่งกลับหนึ่งค่าสําหรับสตริงที่มีความยาวเป็นศูนย์และอีกหนึ่งค่าสําหรับค่า ตัวอย่างเช่น คุณสามารถใช้นิพจน์รูปแบบเช่นนิพจน์ต่อไปนี้กับฟังก์ชัน Format เพื่อส่งกลับค่าสตริงที่เหมาะสมจากโค้ด
Dim varX As Variant
Dim varStrX As Variant
' Assign some value to varStrX and pass to Format function.
varX = Format(varStrX, "@;ZLS;Null")
ใน Microsoft Access เวอร์ชัน 97 และใหม่กว่า คุณต้องทดสอบกรณี Null แยกต่างหาก แล้วส่งกลับค่าที่เหมาะสมตามผลลัพธ์ ตัวอย่างเช่น คุณสามารถใช้ฟังก์ชัน IIf ในนิพจน์ที่มีฟังก์ชัน Format ดังต่อไปนี้:
varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))
การเปลี่ยนแปลงนี้ใช้เฉพาะเมื่อคุณใช้ฟังก์ชัน Format เพื่อจัดรูปแบบสตริง โดยขึ้นอยู่กับว่าเป็นสตริงที่มีความยาวเป็นศูนย์หรือค่า Null นิพจน์รูปแบบอื่นๆ ที่ใช้กับฟังก์ชัน Format จะยังคงทํางานได้เหมือนกับในเวอร์ชันก่อนหน้า
ถ้าคุณแปลงฐานข้อมูลจาก Microsoft Access เวอร์ชัน 2.0 และเวอร์ชันก่อนหน้าเป็น Microsoft Access 2002 หรือใหม่กว่า คุณต้องเปลี่ยนรหัสเพื่อทดสอบแยกต่างหากสําหรับกรณี Null