Bobby Heid
bheid at appdevgrp.com
Thu Mar 20 13:54:00 CST 2003
Another way that I have not seen here yet is something similar to: 'this is OTOH on error resume next if db.tabledefs("tablename").name="" then End If if err.number=(can't remember the # right now) then TableExists=FALSE Else TableExists=TRUE End if I don't know if this would be any faster, but it only has to look in a collection, not run a query. Bobby -----Original Message----- From: accessd-admin at databaseadvisors.com [mailto:accessd-admin at databaseadvisors.com]On Behalf Of t tom Sent: Thursday, March 20, 2003 2:31 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Does table exist? Hi Eric Sorry, didn't mean to be persistent just having fun with this. Its just that it looks more compact and doesn't use a loop. Until I came across this code I did use the For Each .....Next construct. and thanks gustav, how about if I rewrite this way Public Function CheckTableExist (strTableName As String) As Boolean Dim strCriteria As String strCriteria = "name = '" & strTableName & "'" & " and (type=1 or type=6)" CheckTableExist = IIf(DCount("[ID]", "MSysObjects", strCriteria) > 0, True, False) End Function Tomt