You can format the output for your database size estimation. Sub-objects (such as columns and indexes) contained in a table are offset, and you can print additional information after the total.
[object-size][:compartment]|[ObjectID][|label]where:
message = CStr(TableSize) & "||" & objTable.ShortDescription & vbCrLf
message = message & CStr(LongSize) & "||Columns of type LONG" & vbCrLf
message = message & CStr(IndexSize) & "|" & objIndex.ObjectID & vbCrLf
In the event handler defined on the Tablespace metaclass (having calculated and stored the size of a tablespace), we create a message variable to print this information after the database size calculation has been printed.
message = ":1||Tables are allocated to the following tablespaces:"
message = message + CStr(tablespaceSize) & ":1||" & objTablespace.ShortDescription
Estimate of the size of the Database "Sales"...
Number Estimated size Object
------- -------------- ------------------------------------
10,000 6096 KB Table 'Invoices'
Columns of type LONG (35 KB)
Index 'customerFKeyIndex' (976 KB)
Index 'descriptionIndex' (1976 KB)
[...etc...]
Tables are allocated to the following tablespaces:
Estimated size Object
-------------- ------------------------------------
6096 KB Tablespace 'mainStorage'
[...etc...]