If your table names were prefaced by object type (e.g. tblUsers) then it ought to be simple enough by looking for "tbl" with Left function? The only problem I can see with what you posted is that sometimes objects that are of type 1 are not tables. If you don't have the object prefix, then perhaps add Flag field where Flag >=0, because the example I looked at, those objects had negative values. However, I think I would count using * wildcard rather than one particular field. So
Code:
SELECT MSysObjects.[Name], DCount("*","[" & [Name] & "]") AS RecCount
FROM MSysObjects
WHERE (((MSysObjects.[Name]) Not Like "Msys*") AND ((MSysObjects.[Type])=1) AND ((MSysObjects.Flags)>=0))
ORDER BY 1;
Sorry if I'm not understanding the problem.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.