ในฐานข้อมูล 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