sql >> データベース >  >> RDS >> Access

データベース内のすべてのオブジェクトをカウントします

    データベース内のすべてのオブジェクトをカウントする

    先日、私たちの会社は、多くのAccessデータベースを複数のSQLServerバックエンドに変換するという任務を負いました。関連するタスクを理解するために、各データベースのすべてのテーブル、クエリ、フォーム、およびマクロをカウントする方法が必要でした。

    インターネットで簡単に検索しましたが、コードスニペットが気に入らなかったため、統計をすぐにウィンドウに出力する独自の小さなプログラムを作成しました。
    Public Sub CountObjects()
    Dim qdf As DAO.QueryDef
    Dim obj As Object
    Dim tdf As DAO.TableDef
    Dim i As Long

    i =0
    Debug.Print CurrentDb.TableDefs.Count
    For Each tdf In CurrentDb.TableDefs
    If Not Left(tdf.Name、4)=“ MSys” Then
    i =i + 1
    End If
    Next tdf
    Debug.Print「テーブル数:」&i

    ‘クエリの数を決定する
    Debug.Print“ Number of Queries:”&CurrentDb.QueryDefs.Count

    ‘フォームの数を決定する
    Debug.Print“ Number of Forms:”&CurrentProject.AllForms.Count

    ‘マクロの数を決定する
    Debug.Print“ Number of Macros:”&CurrentProject.AllMacros.Count

    ‘レポートの数を決定する
    Debug.Print“ Number of Reports:”&CurrentProject.AllReports.Count

    サブの終了
    いくつかの所見:

    • システムテーブルをカウントしないために、TableDefコレクションを繰り返し処理し、MSysで始まるテーブル名を無視します
    • メンバーは開いているフォームのみで構成されているため、フォームコレクションを使用してフォームをカウントできませんでした。

    お楽しみください!


    1. PostgreSQLでトリガーを一時的に無効にするにはどうすればよいですか?

    2. Debian9にMariaDBをインストールして保護する方法

    3. AmazonRDSマスターユーザーパスワードをリセットする方法

    4. PostgreSQLのMIN()関数