can't remember exactly but I'm fairly certain that DBI provides such basic additional functionality as checking for table existence. so you shouldn't have to eval in the first place. if you cannot find this in DBI docs or others help, there's also the implementation specific (M$) system table in Access, which contains information about all the tables etc and can be queried.