|
|
Количество записей в таблицах БД
Бывает - откроешь чужую базу, а там таблиц под сотню и все с "весёлыми" названиями.
Перебирать все лень и долго ...
Данное решение создаёт таблицу количества записей в таблицах базы данных.
- спасёт когда примерное кол-во записей известно, а название таблицы нет.
Private Sub CountRecordsInTables()
Const strTableName As String = "00TempRecordsInTables"
Dim tbl As TableDef
Dim idx As Index
Dim fld As Field
Dim l As Long
Dim strSQL As String
On Error GoTo CountRecordsInTables_Err
Set tbl = CurrentDb.CreateTableDef(strTableName)
With tbl
.Fields.Append tbl.CreateField("tblName", dbText, 250)
.Fields.Append tbl.CreateField("tblRecords", dbLong)
Set idx = .CreateIndex("Primary Key")
With idx
.Fields.Append .CreateField("tblName")
.Unique = True
.Primary = True
End With
.Indexes.Append idx
End With
CurrentDb.TableDefs.Append tbl
Set idx = Nothing
Set tbl = Nothing
For Each tbl In CurrentDb.TableDefs
If (tbl.Attributes And dbSystemObject) = False Then
l = tbl.RecordCount
strSQL = "INSERT INTO " & strTableName & " (tblName, tblRecords) VALUES ('" & tbl.Name & "', " & l & ")"
CurrentDb.Execute strSQL
End If
Next
CountRecordsInTables_Bye:
Exit Sub
CountRecordsInTables_Err:
MsgBox "Error " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
"in procedure CountRecordsInTables", vbCritical, "Error!"
Resume CountRecordsInTables_Bye
End Sub
|
|