ฟังก์ชัน MsgBox

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

ในฐานข้อมูล Access บนเดสก์ท็อป ฟังก์ชัน MsgBox จะแสดงข้อความในกล่องโต้ตอบ รอให้ผู้ใช้คลิกปุ่ม และส่งกลับ จํานวนเต็ม ที่ระบุว่าผู้ใช้คลิกปุ่มใด

ไวยากรณ์

MsgBox(prompt [, buttons ] [, title ] [, helpfile ] [, context ] )

ไวยากรณ์ของฟังก์ชัน MsgBox มีอาร์กิวเมนต์ดังนี้

อาร์กิวเมนต์ คำอธิบาย
พร้อมท์ จำเป็น นิพจน์สตริงที่แสดงเป็นข้อความในกล่องโต้ตอบ ความยาวสูงสุดของ พร้อมท์ คือประมาณ 1024 อักขระ ขึ้นอยู่กับความกว้างของอักขระที่ใช้ ถ้า พร้อมท์ ประกอบด้วยบรรทัดมากกว่าหนึ่งบรรทัด คุณสามารถแยกบรรทัดโดยใช้อักขระขึ้นบรรทัดใหม่ (Chr(13)) อักขระตัวบรรทัด (Chr(10)) หรืออักขระขึ้นบรรทัดใหม่ – การผสมอักขระตัวบรรทัด (Chr(13) & Chr(10)) ระหว่างแต่ละบรรทัด
ปุ่ม ไม่จำเป็น นิพจน์ตัวเลขที่เป็นผลรวมของค่าที่ระบุจํานวนและชนิดของปุ่มที่จะแสดง สไตล์ไอคอนที่จะใช้ ข้อมูลประจําตัวของปุ่มเริ่มต้น และรูปแบบโมดอลของกล่องข้อความ ถ้าไม่ใส่ค่านี้ ค่าเริ่มต้นของ ปุ่ม คือ 0
ชื่อ เรื่อง ไม่จำเป็น นิพจน์สตริงที่แสดงในแถบชื่อเรื่องของกล่องโต้ตอบ ถ้าคุณละ ชื่อเรื่อง ชื่อแอปพลิเคชันจะถูกวางในแถบชื่อเรื่อง
helpfile ไม่จำเป็น นิพจน์สตริงที่ระบุไฟล์วิธีใช้เพื่อใช้ในการแสดงวิธีใช้แบบตามบริบทสําหรับกล่องโต้ตอบ ถ้ามี helpfile ให้ไว้ ต้องระบุ บริบท ด้วย
บริบท ไม่จำเป็น นิพจน์ตัวเลขที่เป็นหมายเลขบริบทวิธีใช้ที่กําหนดให้กับหัวข้อวิธีใช้ที่เหมาะสมโดยผู้เขียนวิธีใช้ ถ้ามี เนื้อหา อยู่ จะต้องมี helpfile ให้ไว้ด้วย

การตั้งค่า

การตั้งค่าอาร์กิวเมนต์ของปุ่มคือ:

ค่าคงที่ ค่า คำอธิบาย
vbOKOnly 0 แสดงปุ่ม ตกลง เท่านั้น
vbOKCancel 1 แสดงปุ่ม ตกลง และ ยกเลิก
vbAbortRetryIgnore 2 แสดงปุ่มยกเลิกลองใหม่ และละเว้น
vbYesNoCancel 3 แสดงปุ่มใช่ไม่ใช่ และยกเลิก
vbYesNo 4 แสดงปุ่ม ใช่ และ ไม่ใช่
vbRetryCancel 5 แสดงปุ่ม ลองใหม่ และ ยกเลิก
vbCritical 16 แสดงไอคอน ข้อความสําคัญ
vbQuestion 32 แสดงไอคอนคิวรีคําเตือน
vbExclamation 48 แสดงไอคอนข้อความเตือน
vbInformation 64 ไอคอน แสดงข้อความข้อมูล
vbDefaultButton1 0 ปุ่มแรกเป็นค่าเริ่มต้น
vbDefaultButton2 256 ปุ่มที่สองเป็นค่าเริ่มต้น
vbDefaultButton3 512 ปุ่มที่สามเป็นค่าเริ่มต้น
vbDefaultButton4 768 ปุ่มที่สี่เป็นค่าเริ่มต้น
vbApplicationModal 0 คํากริยาการประยุกต์ใช้; ผู้ใช้ต้องตอบกลับกล่องข้อความก่อนที่จะทํางานในโปรแกรมประยุกต์ปัจจุบันต่อไป
vbSystemModal 4096 กริยาปรับระบบ; แอปพลิเคชันทั้งหมดจะถูกระงับจนกว่าผู้ใช้จะตอบสนองต่อกล่องข้อความ
vbMsgBoxHelpButton 16384 เพิ่มปุ่ม วิธีใช้ ลงในกล่องข้อความ
VbMsgBoxSetForeground 65536 ระบุหน้าต่างกล่องข้อความเป็นหน้าต่างเบื้องหน้า
vbMsgBoxRight 524288 จัดข้อความชิดขวา
vbMsgBoxRtlReading 1048576 ระบุให้ข้อความปรากฏเป็นการอ่านจากขวาไปซ้ายบนระบบภาษาฮิบรูและอาหรับ

กลุ่มแรกของค่า (0–5) จะอธิบายจํานวนและชนิดของปุ่มที่แสดงในกล่องโต้ตอบ กลุ่มที่สอง (16, 32, 48, 64) จะอธิบายสไตล์ไอคอน กลุ่มที่สาม (0, 256, 512) กําหนดว่าปุ่มใดเป็นค่าเริ่มต้น และกลุ่มที่สี่ (0, 4096) จะกําหนดกริยาช่วยของกล่องข้อความ เมื่อเพิ่มตัวเลขเพื่อสร้างค่าสุดท้ายสําหรับอาร์กิวเมนต์ ปุ่ม ให้ใช้ตัวเลขจากแต่ละกลุ่มเพียงหนึ่งตัวเท่านั้น

หมายเหตุ

ค่าคงที่เหล่านี้จะถูกระบุโดย Visual Basic for Applications ด้วยเหตุนี้ ชื่อจึงสามารถใช้ได้ที่ใดก็ได้ในโค้ดของคุณแทนค่าจริง

ส่งกลับค่า

ค่าคงที่ ค่า คำอธิบาย
vbOK 1 ตกลง
vbCancel 2 ยกเลิก
vbAbort 3 ยก เลิก
vbRetry 4 ลองใหม่
vbIgnore 5 ละเว้น
vbYes 6 ใช่
vbNo 7 ไม่ใช่

ข้อสังเกต

เมื่อทั้ง helpfile และบริบทมีให้ ผู้ใช้สามารถกด F1 (Windows) หรือ HELP (macOS) เพื่อดูหัวข้อวิธีใช้ที่สอดคล้องกับบริบท แอปพลิเคชันโฮสต์บางตัว เช่น Microsoft Excel ยังเพิ่มปุ่ม วิธีใช้ ลงในกล่องโต้ตอบโดยอัตโนมัติ

ถ้ากล่องโต้ตอบแสดงปุ่ม ยกเลิก การกดแป้น ESC จะมีผลเหมือนกับการคลิก ยกเลิก ถ้ากล่องโต้ตอบมีปุ่ม วิธีใช้ วิธีใช้แบบตามบริบทจะมีให้สําหรับกล่องโต้ตอบนั้น อย่างไรก็ตาม จะไม่มีการส่งกลับค่าใดๆ จนกว่าจะมีการคลิกปุ่มอื่น

หมายเหตุ

เมื่อต้องการระบุอาร์กิวเมนต์ที่มีชื่อมากกว่าอาร์กิวเมนต์แรก คุณต้องใช้ MsgBox ในนิพจน์ เมื่อต้องการละบางอาร์กิวเมนต์ที่ใช้ระบุตําแหน่ง คุณต้องใส่ตัวคั่นจุลภาคที่สอดคล้องกัน

ตัวอย่าง

หมายเหตุ

ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA)

ตัวอย่างนี้ใช้ฟังก์ชัน MsgBox เพื่อแสดงข้อความแสดงข้อผิดพลาดร้ายแรงในกล่องโต้ตอบที่มีปุ่ม ใช่ และ ไม่ใช่ ปุ่ม ไม่ ถูกระบุเป็นการตอบสนองเริ่มต้น ค่าที่ส่งกลับโดยฟังก์ชัน MsgBox จะขึ้นอยู่กับปุ่มที่ผู้ใช้เลือก ตัวอย่างนี้ถือว่าDEMO.HLPเป็นไฟล์วิธีใช้ที่มีหัวข้อที่มีหมายเลขบริบทวิธีใช้เท่ากับ1000


Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Do you want to continue?"
Style = vbYesNo + vbCritical + vbDefaultButton2    
Title = "MsgBox Demonstration" 
Help = "DEMO.HLP"
Ctxt = 1000
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then    ' User chose Yes.
    MyString = "Yes"    ' Perform some action.
Else    ' User chose No.
    MyString = "No"    ' Perform some action.
End If