StaRKeY
StaRKeY at Wanadoo.nl
Thu Mar 20 15:00:01 CST 2003
Okay, ONE more and then I'll stop... I find this one the shortest and nicest:-) Function Exists(str As String) As Boolean On Error Resume Next Exists = (CurrentDb.Containers("Tables").Documents(str).Name = str) End Function Good night. -----Original Message----- From: accessd-admin at databaseadvisors.com [mailto:accessd-admin at databaseadvisors.com]On Behalf Of Bobby Heid Sent: donderdag 20 maart 2003 20:57 To: 'accessd at databaseadvisors.com' Subject: RE: [AccessD] Does table exist? 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 _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com --- Message is tested virus free Virus Database (VPS): 19-3-2003 Tested on: 20-3-2003 21:53:34 (c) 2000-2003 ALWIL Software. http://www.avast.com