Regarding a table size, this is what I've been led to believe:
Add the field size for each field (e.g. Currency = 8 bytes) and multiply by the number of records. This would be an approximation as it doesn't include any overhead. If you add them altogether, you will not have any meaningful information as there are system tables as well, plus overhead for the db, plus any temporary page files or other space that isn't frequently reclaimed. At best you could know which table was bigger than another.
While I always thought not closing a recordset only affected machine memory allocation, I recently read that it also can cause db bloat amongst other "bad" practices such as constantly deleting and recreating tables rather than deleting all records and repopulating. Suggest you research MS Access db bloat. While the info a the link isn't bad, a lot of it looks out of date to me.
You could always investigate compacting on close when the db gets to a predetermined size and there is only 1 user who has ties to the back end. I would not do this every time it closes.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.