ฟังก์ชัน MsgBox

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

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

ไวยากรณ์

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

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

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

การตั้งค่า

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

ค่าคงที่ ค่า คำอธิบาย
vbOKOnly 0 แสดง ตกลง เท่านั้น
vbOKCancel 1 แสดง ตกลง และ ยกเลิก
vbAbortRetryIgnore 2 แสดง Abortลองใหม่ และละเว้น
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, 4864) จะอธิบายลักษณะของไอคอน กลุ่มที่สาม (0, 256, 512) จะกําหนดว่าปุ่มใดเป็นค่าเริ่มต้น กลุ่มที่สี่ (0, 4096) จะกําหนดโมดอลของกล่องข้อความ เมื่อคุณเพิ่มตัวเลขเพื่อสร้างค่าสุดท้ายสําหรับ buttons อาร์กิวเมนต์ ให้ใช้ตัวเลขจากแต่ละกลุ่มเพียงหนึ่งตัวเท่านั้น

หมายเหตุ

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

ส่งกลับค่า

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

ข้อสังเกต

เมื่อทั้งสองhelpfileและcontextมีให้ ผู้ใช้สามารถกด F1 ใน Windows หรือวิธีใช้ใน macOS เพื่อดูหัวข้อวิธีใช้ที่ตรงกับcontext แอปพลิเคชันโฮสต์บางตัว เช่น 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