ในฐานข้อมูลบนเดสก์ท็อป 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