2011-10-12 39 views
0

我想掃描到我的ADP表單中的所有RecordSource。我的一個窗體可能會調用錯誤的視圖。它通常設置在RecordSource屬性中。問題是我的ADP中有大約300多個表單。所以我想打印每個表單中的所有RecordSource,以便能夠找到並糾正問題。這是我到目前爲止所做的。VBA:表單中的RecordSource列表

Private Sub Command1_Click() 

Dim sForm As String 

Dim obj As AccessObject, dbs As Object 
Set dbs = Application.CurrentProject 

Dim cCount As Long 
cCount = 0 

For Each obj In dbs.AllForms 

     ' Print name of obj. 
     sForm = "Form_" & obj.name 

      Debug.Print cCount & " " & Forms(sForm)!RecordSource 

     cCount = cCount + 1 

Next obj 

End Sub 

錯誤是Access無法找到窗體。運行時錯誤'2450'。

回答

0

也許:

For Each obj In dbs.AllForms 
    DoCmd.OpenForm obj.Name, acDesign 
    Set frm = Forms(obj.Name) 
    Debug.Print cCount & " " & frm.RecordSource 

    cCount = cCount + 1 
    DoCmd.Close acForm, obj.Name, acSaveNo 
Next obj 
+0

+1這是工作的偉大。謝謝。 –