tips - การบังคับเปิดฟอร์ม
กระทู้เก่าบอร์ด อ.Yeadram

 1,290   2
URL.หัวข้อ / URL
tips - การบังคับเปิดฟอร์ม

ฟอร์มลูก หรือฟอร์มย่อยบางฟอร์ม เราเขียนคำสั่งอ้างอิงถึงฟอร์มแม่ ถ้ามีใครไปเปิดฟอร์มลูกขึ้นมาเดี่ยวๆ แล้วคลิ๊กนู่นคลิ๊กนี่ อย่างน้อยๆ อาจจะเกิด error วุ่นวาย อย่างมากมายอาจทำความเสียหายให้กับข้อมูลก็ได้
ดังนั้น ป้องกันไว้ก่อนแก้ ถ้าฟอร์มแม่ไม่เปิด ก็ห้ามเปิดฟอร์มย่อยอันนี้


คำสั่งสามบรรทัดนี้ เอาไว้ในฟอร์มลูกครับ ( * fm_Main คือชื่อของฟอร์มแม่นะครับ )
Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
DoCmd.SelectObject acForm, "fm_Main", False
If Err = 2489 Then Cancel = True
End Sub

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

1 @R01163
หรือ ถ้ามีฟังก์ชั้นอยู่แล้วในโมดูล ซึ่งไว้คอยตรวจสอบว่าฟอร์มใดๆ โหลดอยุ่หรือเปล่า เช่น
(--- ในโมดูล ---)
Public Function fLoad(ByVal strFormName As String) As Integer
    If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> 0 Then
        If Forms(strFormName).CurrentView <> 0 Then
            fLoad = True
        End If
    End If
End Function


เราก็เขียนคำสั่งในฟอร์มย่อยว่า

Private Sub Form_Open(Cancel As Integer)
Cancel = (fLoad("fm_main") + 1) * -1
End Sub


* fm_Main คือชื่อฟอร์มแม่
2 @R01164
ขอบคุณครับ

ขอเก็บคำสั่งไว้ก่อน

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