對於數據庫中的給定表單,是否有一種快速/簡單的方法來查找Access數據庫中的所有其他表單?將其用作子表單?有沒有一種簡單的方法來查找Access中的子窗體的依賴關係?
注意:我只關心使用屬性表定義的主窗體,很容易對運行時將其動態設置爲子窗體的任何窗體進行代碼搜索。
對於數據庫中的給定表單,是否有一種快速/簡單的方法來查找Access數據庫中的所有其他表單?將其用作子表單?有沒有一種簡單的方法來查找Access中的子窗體的依賴關係?
注意:我只關心使用屬性表定義的主窗體,很容易對運行時將其動態設置爲子窗體的任何窗體進行代碼搜索。
右鍵單擊數據庫窗口中的窗體並選擇「對象依賴關係」這應該爲您提供將其作爲子窗體託管的窗體列表。
使用VBA進行檢查並不困難。
sfrmname="FormToFind"
For Each frm In CurrentProject.AllForms
DoCmd.OpenForm frm.Name, acDesign
For Each ctl In Forms(frm.Name).Controls
If ctl.ControlType=acSubForm Then
If ctl.SourceObject = sfrmname Then
Debug.Print frm.Name
End If
End If
Next
DoCmd.Close acForm, frm.Name
Next
或者那裏有。
謝謝。這是一個很好的答案,我寫了幾乎精確的代碼,但對打開每個對象猶豫不決(主知道其中某些對象的開放代碼是什麼)。雖然我沒有考慮過在設計視圖中打開。好的答案+1 – JohnFx 2009-01-15 21:45:14
這取決於Access的版本,我猜。 – Fionnuala 2009-01-15 21:32:50