ฟังก์ชัน 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 ไม่จำเป็น นิพจน์ตัวเลขที่เป็นผลรวมของค่าที่ระบุหมายเลขและชนิดของปุ่มที่จะแสดง สไตล์ไอคอนที่จะใช้ ข้อมูลเฉพาะตัวของปุ่มเริ่มต้น และรูปแบบของกล่องข้อความ ถ้าไม่ระบุไว้ ค่าเริ่มต้นของ for จะเป็นbuttons0
title ไม่จำเป็น นิพจน์สตริงที่แสดงในแถบชื่อเรื่องของกล่องโต้ตอบ ถ้าคุณละไว้ titleชื่อแอปพลิเคชันจะปรากฏในแถบชื่อเรื่อง
helpfile ไม่จำเป็น นิพจน์สตริงที่ระบุไฟล์วิธีใช้ที่จะใช้เพื่อแสดงวิธีใช้ตามบริบทสําหรับกล่องโต้ตอบ ถ้า helpfile มีให้ จะต้อง context จัดเตรียมไว้ด้วย
context ไม่จำเป็น นิพจน์ตัวเลขที่เป็นหมายเลขบริบทวิธีใช้ที่ผู้เขียนวิธีใช้กําหนดให้กับหัวข้อวิธีใช้ที่เหมาะสม ถ้า context มีให้ จะต้อง helpfile จัดเตรียมไว้ด้วย

การตั้งค่า

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

ค่าคงที่ ค่า คำอธิบาย
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, , 3248, 64) อธิบายสไตล์ไอคอน กลุ่มที่สาม (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