Tipp 1.7 - Anzahl Access-Objekte
Wie kann ich die Gesamtanzahl eines bestimmten Access-Objektes ermitteln?
Mit dieser Funktion können Sie die Gesamtanzahl eines bestimmten Access-Objektes ermitteln. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.
Hinweis: Durch spezielle Anweisungen können Sie diese Funktion erst ab Access 2000 einsetzen.
Beispiel:
Option Explicit Public Enum eJetObjectType A2XTypeTable = 0 A2XTypeQuery = 1 A2XTypeRelation = 6 A2XTypeForm = 2 A2XTypeReport = 3 A2XTypeMacro = 4 A2XTypeModule = 5 End Enum Public Function GetA2XObjectCount( _ peType As eJetObjectType) _ As Long '// ===================================================== '// Methode | Ermittelt die Gesamtanzahl des ge- '// | wünschten Objekttypes '// | Verweis auf DAO 3.X sollte gesetzt sein '// ----------------------------------------------------- '// Parameter | pEType - Objekttyp '// | Das Enum eJetObjectType sollte '// | vorab auf Modulebene deklariert '// | sein! '// ----------------------------------------------------- '// Rückgabe | Long - Gesamtanzahl '// ----------------------------------------------------- '// Erstellt | Manuela Kulpa '// | EDV Innovation & Consulting - Dormagen '// ===================================================== On Error GoTo HandleErr Dim db As DAO.Database Dim lCount As Long Set db = CurrentDb With db Select Case peType Case A2XTypeTable lCount = .TableDefs.Count Case A2XTypeQuery lCount = .QueryDefs.Count Case A2XTypeRelation lCount = .Relations.Count Case A2XTypeForm lCount = .Containers!Forms.Documents.Count Case A2XTypeReport lCount = .Containers!Reports.Documents.Count Case A2XTypeMacro lCount = .Containers!Scripts.Documents.Count Case A2XTypeModule lCount = .Containers!Modules.Documents.Count End Select End With GetA2XObjectCount = lCount HandleExit: If Not db Is Nothing Then Set db = Nothing Exit Function HandleErr: Select Case Err.Number Case Else MsgBox "Fehler " & Err.Number & ": " & _ Err.Description, vbCritical, _ "basInfo.GetA2XObjectCount" End Select Resume HandleExit End Function