Max Wanadoo
max.wanadoo at gmail.com
Wed Sep 30 17:12:37 CDT 2009
You could try something like this (below).
Knowing how many records you deal with, I have made the variable DOUBLES
Not entirely sure it is accurate as I have only just written it and never
tested it in real life, but it may help.
Max
Sub sGetTableSizes()
Dim dbs As DAO.Database, tbl As DAO.TableDef
Dim sql As String, fld As Field, dblTotSize As Double
Dim dblFldSize As Double, dblRecCount As Double, dblTableSize As Double
Set dbs = CurrentDb
For Each tbl In CurrentDb.TableDefs
If Not Left(tbl.Name, 1) = "~" And Not Left(tbl.Name, 4) = "Msys" Then
dblRecCount = DCount("*", tbl.Name)
dblFldSize = 0
For Each fld In tbl.Fields
dblFldSize = dblFldSize + fld.Size
Next fld
dblTableSize = dblFldSize * dblRecCount
Debug.Print tbl.Name, dblTableSize
End If
dblTotSize = dblTotSize + dblTableSize
Next tbl
MsgBox "Total Size: " & Format(dblTotSize, "##,##")
exithere:
Set dbs = Nothing: Set tbl = Nothing
Exit Sub
End Sub
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: 30 September 2009 20:21
To: Access Developers discussion and problem solving
Subject: [AccessD] Table size
Is there any direct way to obtain the total storage used for each table. A
client is approaching
the 2 gb limit and needs to split the BE.
--
John W. Colby
www.ColbyConsulting.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com