Gustav Brock
gustav at cactus.dk
Thu Jun 5 14:24:26 CDT 2003
Hi Christopher Use RefreshLink: Set tbl = db.TableDefs(rsData("TableName")) tbl.Connect = ";DATABASE=" & rsData("Path") tbl.RefreshLink rsData.MoveNext Also, for increased speed, open the backend before the loop and close it when finished the loop. /gustav > First off: I have seen (and used) Tribble's Back-End relinker > before. That's not what I need in this case. > I have inherited an app with some back-end relinking code that is > very slow. I've seen programmatic implementations of a table link > that linked up very quickly, as quickly as using File > Get External > Data > Link Tables. The one I'm dealing with takes many times as > long. > There is a table in my db called tblTable. It contains the name and > path of every table in the database. The table is used in the > following code: > ***START*** > Dim db As DAO.Database > Dim tbl As DAO.TableDef > Set db = CurrentDb > Dim rsData As DAO.Recordset > Set rsData = db.OpenRecordset("SELECT * FROM tblTable") > rsData.MoveFirst > Do Until rsData.EOF = True > Set tbl = db.CreateTableDef(rsData("TableName")) > Debug.Print "Now attaching " & tbl.Name & "..." > tbl.Connect = (";DATABASE=" & rsData("Path")) > tbl.SourceTableName = rsData("TableName") > db.TableDefs.Append tbl > rsData.MoveNext > Loop > db.Close > ***END*** > All the lag takes place when running the 'db.TableDefs.append tbl' > line. > Is there any way to speed this process up? I've seen it done more > quickly before, I just didn't get to see the actual code. :( > -Christopher- > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com