ส่งกลับ ตัวแปร (สตริง) ที่มี นิพจน์ ที่จัดรูปแบบตามคําแนะนําที่มีอยู่ในนิพจน์รูปแบบ
คำเตือน มีปัญหากับการใช้ฟังก์ชันนี้ วันจันทร์สุดท้ายในบางปีปฏิทินสามารถถูกส่งกลับเป็นสัปดาห์ 53 เมื่อควรเป็นสัปดาห์ที่ 1 สําหรับข้อมูลเพิ่มเติมและวิธีแก้ไขปัญหาชั่วคราว ให้ดูที่ ฟังก์ชัน Format หรือ DatePart สามารถส่งกลับจํานวนสัปดาห์ที่ไม่ถูกต้องสําหรับวันจันทร์สุดท้ายในปี |
ไวยากรณ์
Format( expression [, format ] [, firstdayofweek ] [, firstweekofyear ] )
ไวยากรณ์ของฟังก์ชัน Format มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ |
คำอธิบาย |
นิพจน์ |
จำเป็น นิพจน์ที่ถูกต้องใดก็ได้ |
รูปแบบ |
ไม่จำเป็น นิพจน์รูปแบบที่มีชื่อหรือที่ผู้ใช้กําหนดเองที่ถูกต้อง |
วันแรกของสัปดาห์ |
ไม่จำเป็น ค่าคงที่ ที่ระบุวันแรกของสัปดาห์ |
สัปดาห์แรกของปี |
ไม่จำเป็น ค่าคงที่ที่ระบุสัปดาห์แรกของปี |
การตั้งค่า
อาร์กิวเมนต์รูปแบบสามารถใช้การตั้งค่าต่างๆ ได้ ทั้งนี้ขึ้นอยู่กับชนิดข้อมูลของอาร์กิวเมนต์นิพจน์ ดูบทความที่แสดงในตารางต่อไปนี้สําหรับข้อมูลเพิ่มเติมเกี่ยวกับนิพจน์รูปแบบที่ถูกต้อง
สําหรับนิพจน์ที่ใช้ชนิดข้อมูลนี้... |
ดูบทความ |
ชนิดใดก็ได้ |
|
วันที่/เวลา |
|
ตัวเลข |
|
ข้อความและบันทึกช่วยจํา |
|
ใช่/ไม่ใช่ |
อาร์กิวเมนต์ วันแรกของสัปดาห์ มีการตั้งค่าเหล่านี้:
ค่าคงที่ |
ค่า |
คำอธิบาย |
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 |
เริ่มต้นด้วยสัปดาห์เต็มสัปดาห์แรกของปี |
ข้อสังเกต
เมื่อต้องการจัดรูปแบบ |
ทำสิ่งนี้ |
ตัวเลข |
ใช้รูปแบบตัวเลขที่มีชื่อที่กําหนดไว้ล่วงหน้าหรือสร้างรูปแบบตัวเลขที่ผู้ใช้กําหนดเอง |
วันที่และเวลา |
ใช้รูปแบบวันที่/เวลาที่มีชื่อที่กําหนดไว้ล่วงหน้า หรือสร้างรูปแบบวันที่/เวลาที่ผู้ใช้กําหนดเอง |
หมายเลขลําดับประจําสินค้าของวันที่และเวลา |
ใช้รูปแบบวันที่และเวลาหรือรูปแบบตัวเลข |
สาย อักขระ |
สร้างรูปแบบสตริงที่ผู้ใช้กําหนดเอง |
ถ้าคุณพยายามจัดรูปแบบตัวเลขโดยไม่ระบุ รูปแบบFormat จะมีฟังก์ชันการทํางานที่คล้ายกับฟังก์ชัน Str แม้ว่าจะทราบในระดับสากลก็ตาม อย่างไรก็ตาม จํานวนบวกที่จัดรูปแบบเป็นสตริงโดยใช้ รูปแบบ จะไม่รวมช่องว่างนําหน้าที่สงวนไว้สําหรับเครื่องหมายของค่า ซึ่งแปลงโดยใช้ Str จะรักษาพื้นที่ด้านหน้าไว้
ถ้าคุณกําลังจัดรูปแบบสตริงตัวเลขที่ไม่ได้แปลเป็นภาษาท้องถิ่น คุณควรใช้รูปแบบตัวเลขที่ผู้ใช้กําหนดเองเพื่อให้แน่ใจว่าคุณได้รับลักษณะที่คุณต้องการ
หมายเหตุ: ถ้าการตั้งค่าคุณสมบัติ ปฏิทิน เป็นคริสต์ศักดิกและ รูปแบบ ระบุการจัดรูปแบบวันที่ นิพจน์ ที่ให้มาต้องเป็นคริสต์ศักดิก ถ้าการตั้งค่าคุณสมบัติ ปฏิทิน Visual Basic เป็น ฮิจเราะห์ นิพจน์ ที่ให้มาต้องเป็นฮิจเราะห์
ถ้าปฏิทินเป็นแบบคริสต์ศักดี ความหมายของสัญลักษณ์ รูปแบบ นิพจน์จะไม่เปลี่ยนแปลง ถ้าปฏิทินเป็นฮิจเราะห์ สัญลักษณ์รูปแบบวันที่ทั้งหมด (ตัวอย่างเช่น 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"))
การเปลี่ยนแปลงนี้จะนําไปใช้เมื่อคุณใช้ฟังก์ชัน รูปแบบ เพื่อจัดรูปแบบสตริงที่ขึ้นอยู่กับว่าเป็นสตริงที่มีความยาวเป็นศูนย์หรือค่า Null นิพจน์รูปแบบอื่นๆ ที่ใช้กับฟังก์ชัน Format จะยังคงทํางานได้เหมือนในเวอร์ชันก่อนหน้า
ถ้าคุณแปลงฐานข้อมูลจาก Microsoft Access เวอร์ชัน 2.0 และเวอร์ชันก่อนหน้าเป็น Microsoft Access 2002 หรือเวอร์ชันที่ใหม่กว่า คุณต้องเปลี่ยนโค้ดเพื่อทดสอบแยกต่างหากสําหรับตัวพิมพ์ Null