در پروژه های اکسس دسترسی به لیست Object های پروژه (جدول، پرس و جو، فرم و ...) نیاز مهمی می باشد. فرض کنید که می خواهید بر روی همه جداول پروژه نوع خواصی از تنظیمات را اعمال کنید. در این حالت باید با استفاده از یک حلقه، اشیاء مورد نظر را مرور کنید و تغییر مورد نظر را اعمال کنید. در این مقاله پنج سابروتین برای مرور جداول، پرس و جو ها، فرم ها و گزارش های فایل اکسس ارائه شده که هر یک از آنها، نتیجه را در قالب یک دستور Msgbox به شما اعلان می کند. نمونه ای از تصویر خروجی لیست پرس و جو ها :
1 - سابروتین زیر فهرست تمام جداول اعم از سیستمی و جداول غیر سیستمی را اعلان می کند:
Sub ListAllTables()
Dim tbl As AccessObject, dB As Object
Dim strMsg As String
On Error GoTo Error_Handler
Set dB = Application.CurrentData
For Each tbl In dB.AllTables
strMsg = strMsg & tbl.Name & vbNewLine
Next tbl
MsgBox strMsg
Procedure_Done:
Exit Sub
Error_Handler:
strMsg = Err.Number & " " & Err.Description
Resume Procedure_Done
End Sub
2 - سابروتین زیر تنها فهرست جداول غیر سیستمی را اعلان می کند:
Sub ListAllTablesNotMSys()
Dim tbl As AccessObject, dB As Object
Dim strMsg As String
On Error GoTo Error_Handler
Set dB = Application.CurrentData
For Each tbl In dB.AllTables
If Not Left(tbl.Name, 4) = "MSys" Then
strMsg = strMsg & tbl.Name & vbNewLine
End If
Next tbl
MsgBox strMsg
Procedure_Done:
Exit Sub
Error_Handler:
strMsg = Err.Number & " " & Err.Description
Resume Procedure_Done
End Sub
3 - سابروتین زیر تنها فهرست تمام پرس و جو های ساخته شده در فایل اکسس جاری را اعلان می کند:
Sub ListAllQueries()
Dim strMsg As String
Dim qry As AccessObject, dB As Object
On Error GoTo Error_Handler
Set dB = Application.CurrentData
For Each qry In dB.AllQueries
strMsg = strMsg & qry.Name & vbNewLine
Next qry
MsgBox strMsg
Procedure_Done:
Exit Sub
Error_Handler:
strMsg = Err.Number & " " & Err.Description
Resume Procedure_Done
End Sub
4 - سابروتین زیر تنها فهرست تمام فرم های ساخته شده در فایل اکسس جاری را اعلان می کند:
Sub ListAllForms()
Dim strMsg As String
Dim frm As AccessObject, dB As Object
On Error GoTo Error_Handler
Set dB = Application.CurrentProject
For Each frm In dB.AllForms
strMsg = strMsg & frm.Name & vbNewLine
Next frm
MsgBox strMsg
Procedure_Done:
Exit Sub
Error_Handler:
strMsg = Err.Number & " " & Err.Description
Resume Procedure_Done
End Sub
5 - سابروتین زیر تنها فهرست تمام گزارش های ساخته شده در فایل اکسس جاری را اعلان می کند :
Sub ListAllReports()
Dim strMsg As String
Dim rpt As AccessObject, dB As Object
On Error GoTo Error_Handler
Set dB = Application.CurrentProject
For Each rpt In dB.AllReports
strMsg = strMsg & rpt.Name & vbNewLine
Next rpt
MsgBox strMsg
Procedure_Done:
Exit Sub
Error_Handler:
strMsg = Err.Number & " " & Err.Description
Resume Procedure_Done
End Sub