一、问题描述:
如何统计数据库的代码行数?
二、解答:
需要使用自定义函数 函数如下:
Function StatisticsAccessCodeLines() As Long
Dim obj As AccessObject
Dim lngCount(1 To 3) As Long
For Each obj In CurrentProject.AllForms
DoCmd.OpenForm obj.Name, acDesign, , , , acHidden
lngCount(1) = lngCount(1) + Forms(obj.Name).Module.CountOfLines
DoCmd.Close acForm, obj.Name, acSaveNo
Next
Debug.Print "所有窗体的代码总行数:" & lngCount(1)
For Each obj In CurrentProject.AllReports
DoCmd.OpenReport obj.Name, acDesign, , , , acHidden
lngCount(2) = lngCount(2) + Reports(obj.Name).Module.CountOfLines
DoCmd.Close acReport, obj.Name, acSaveNo
Next
Debug.Print "所有报表的代码总行数:" & lngCount(2)
For Each obj In CurrentProject.AllModules
DoCmd.OpenModule obj.Name
lngCount(3) = lngCount(3) + Modules(obj.Name).CountOfLines
Next
Debug.Print "所有模拟的代码总行数:" & lngCount(3)
Debug.Print "整个项目的代码总行数(窗体+报表+模块):" & lngCount(1) + lngCount(2) + lngCount(3)
End Function
使用示例: