ฟังก์ชัน Format

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ส่งกลับ ตัวแปร (สตริง) ที่มีนิพจน์ที่จัดรูปแบบตามที่คำแนะนำที่อยู่ในนิพจน์รูปแบบ

คําเตือน มีปัญหากับการใช้ฟังก์ชันนี้ วันจันทร์สุดท้ายในบางปีปฏิทินสามารถส่งกลับเป็นสัปดาห์ที่ 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

ฟังก์ชันสตริงและวิธีใช้