even ตอนเปิด/ปิด โปรแกรม
กระทู้เก่าบอร์ด อ.Yeadram

 1,938   4
URL.หัวข้อ / URL
even ตอนเปิด/ปิด โปรแกรม

ไม่ทราบว่า มี even ตอนเปิด/ปิด โปรแกรม access ป่ะคับ โดยไม่ต้องอาศัย even ในฟอร์ม คือต้องการจะให้ถามก่อนปิดโปรแกรม กรณีที่ไม่มีฟอร์มใดเปิดอยู่เลย

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R01910
Event ของ Access Application เอง ไม่มีครับ ปกติแล้วเราจะมีฟอร์มที่ทำเป็น main menu หรือมี Toolsbar Menu และเมื่อต้องการออกจาก application เราก็จะคลิกปุ่มหรือเมนูอะไรสักอย่างจาก main menu หรือ Toolsbar Menu นั้น ก็จะทำให้เกิด event ที่เกี่ยวข้องเพื่อไปเช็คว่ามีฟอร์มอื่นๆเปิดอยู่หรือไม่ เมื่อเช็คแล้วก็อาจจะถามว่าจะให้ทำอะไรต่อไป จะปิดหรือไม่
2 @R01911
ผมก็ใช้ even จาก form นะครับ ตอนแรกก็คิดเหมือนเจ้าของกระทู้
แต่พอกลับมาคิดอีกทีก็การที่เราจะให้มันถามว่าต้องการปิดหรือไม่ นั่นมันเป็นส่วนที่ติดต่อกับผู้ใช้ ซึ่งส่วนใหญ่ก็จะต้องติดต่อกับผู้ใช้ผ่านฟอร์มอยู่แล้ว
แล้วทำไมเราต้องไปหา even อะไรที่มันไม่ต้องใช้ผ่านฟอร์มมาเพื่อคอยถามว่าต้องการปิด access หรือไม่

ยิ่งถ้ามองลึกลงไปในวัตถุประสงค์ของการใช้งานกล่องข้อความที่ต้องการให้ถามก่อนปิดแล้วก็อาจจะนึกออกได้ว่าควรจะให้มันถามเมื่อไร
3 @R01912
หนูเข้าใจว่าผู้ถามคงหมายถึงปัญหา User เผลอไปคลิกปิด Access โดยไม่ได้ตั้งใจ ทั้งที ่User ค้องการปิดแค่ฟอร์มหรือปิดแค่รายงานเท่านั้น เพราะเวลา Maximize แล้วปุ่มปิด มันจะอยู่ใกล้ชิดกันมาก ก็เลยต้องการหา even เพื่อให้มีการถามให้แน่ใจว่าต้องการปิด access เลยจริงหรือไม่ (ไม่ทราบว่าหนูเดาถูกหรือเปล่า)
4 @R01961
ผมใ้ช้วิธี กำนหนด control ขึ้นมาตัวหนึ่ง อยู่บน form หลัก ที่มี Memu bar ที่สร้างเองอยู่ด้วย (เหมือนที่พี่สันติสุขบอก) เป็น check box ครับ แล้วใช้การตรวจสอบสถานะของ control ตัวนี้ครับ

ที่ form หลักของระบบ
Private Sub Form_Load()
    chkCanClose = False
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If Not chkCanClose Then
        MsgBox "หากต้องการเลิกการทำงาน กรุณาเลือกเมนู 'เลิกงาน' ", vbCritical, "ใช้ X ปิดไม่ได้"
        Cancel = True
    End If
End Sub

ที่เมนูเลิกงานผมก็ใช้คำสั่งแบบนี้ึครับ
Function MenuQuit()
On Error GoTo MenuQuit_Err

    Beep
    If MsgBox("คุณต้องการเลิกงานจริง ๆ หรือ", vbQuestion + vbYesNo + vbDefaultButton2, "เลิกงาน") = vbYes Then
        MsgBox "ขอบคุณที่ใช้บริการ", vbInformation, "Thank You :-)"
        Forms!frmMain!chkCanClose = True

        DoCmd.Quit
    Else
        MsgBox "นั่นแน่!... คุณเปลี่ยนใจแล้วใช่ม๊า...", vbExclamation, "เลิกงาน"
    End If

MenuQuit_Exit:
    Exit Function

MenuQuit_Err:
    MsgBox Error$
    Resume MenuQuit_Exit

End Function

ลองเอาไปประยุกต์ใช้กันดูละกัน...

ใครจะเอาไปใช้ก็ไม่ว่ากันครับ :)
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3184s