Including the system tables, you can get a count like:
CurrentDB.TableDefs.Count
To get only the non-system tables (both linked and unlinked) try this query:
SELECT MSysObjects.Name, Left([Name],4)="MSys" AS Expr1, MSysObjects.Type
FROM MSysObjects
WHERE (((Left([Name],4)="MSys")=False) AND ((MSysObjects.Type)=1 Or
(MSysObjects.Type)=6));
--
Arvin Meyer, MCP, MVP
Microsoft Access
Free Access downloads: http://www.datastrat.com http://www.mvps.org/access