2012-11-06 58 views
0

繼續進行我的應用程序開發時,遇到了另一個問題。從子表單訪問父級和其他打開的表單

在我的MS Access應用程序中,我使用的窗體只包含兩個控件 - 一個文本框和一個命令按鈕。這種形式被命名爲HEADER FORM

HEADER FORM被用作各種其他形式的標題部分中的子表單。

下圖顯示了子窗體及其在一個主窗體中的使用。

enter image description here

現在,我想的是,當子窗體上的退出按鈕用戶點擊,註銷行爲應發生(這是很好的,我能弄明白)和一切形式在那個時間點開放應關閉/卸載。

我嘗試使用下面的代碼無濟於事。

Option Compare Database 

Private Sub cmdHeaderLogout_Click() 
    If (loggedIn = 1) Then 
     loggedIn = 0 
     DoCmd.Close acForm, Parent.Form 
    End If 
End Sub 

當我嘗試點擊註銷按鈕時,控件達到上面的DoCmd.Close語句。並給出以下錯誤消息後停止執行:

Run-time error: 2498. An expression you entered is the wrong data type for one of the arguments.

它指向Parent.Form文本。

我無法弄清楚如何引用父窗體和卸載相同?

回答

1

您應該參考當前表單的父的名字,那就是:

DoCmd.Close acForm, Me.Parent.Name 

DoCmd.Close的第二個參數需要一個字符串。

您也可以遍歷表單集合。

FormsCount = Forms.Count - 1 

For i = FormsCount To 0 Step -1 
    If Forms(i).Name <> Me.Name Then 
     DoCmd.Close acForm, Forms(i).Name 
    End If 
Next 
相關問題