Max Wanadoo
max.wanadoo at gmail.com
Fri Feb 12 03:48:01 CST 2010
Section 3 - Import That's the lot now. No form or user interface. I hope it works ok, seem ok on my test system but caveat emptor as always. I will try to get the complete code in the next email, size will determine if it gets through. Change the sStart to either export or import. As shown it does both which should get rid of bloat in one foul swoop. But, who knows the secrets of the Black Magic Box? Max Private Sub sStart() Call sCheckAndCreateSubDirs(strDir) Call sExportAllObjects Call sImportAllObjects MsgBox "Done" End Sub Private Sub sImportAllObjects() On Error GoTo errhandler Dim strTemp As String, strFile As String, strPath As String, sql As String, strIn As String Dim dbs As DAO.Database, qdf As DAO.QueryDef Set dbs = CurrentDb strDir = Application.CurrentProject.Path & conPathStem ' ' Forms strPath = strDir & "Forms\" strTemp = Dir(strPath) Do While strTemp <> "" strFile = Left(strTemp, InStrRev(strTemp, ".txt") - 1) ' Application.LoadFromText acForm, strFile, strPath & strTemp strTemp = Dir() Loop ' ' Macros strPath = strDir & "Macros\" strTemp = Dir(strPath) Do While strTemp <> "" strFile = Left(strTemp, InStrRev(strTemp, ".txt") - 1) 'Application.LoadFromText acMacro, strFile, strPath & strTemp strTemp = Dir() Loop ' ' Modules strPath = strDir & "Modules\" strTemp = Dir(strPath) Do While strTemp <> "" strFile = Left(strTemp, InStrRev(strTemp, ".txt") - 1) If strFile <> "modEatBloat" Then 'don't overright self 'Application.LoadFromText acModule, strFile, strPath & strTemp End If strTemp = Dir() Loop ' ' Queries strPath = strDir & "Queries\" strTemp = Dir(strPath) Do While strTemp <> "" strFile = Left(strTemp, InStrRev(strTemp, ".txt") - 1) pIntFileNumber2 = FreeFile: sql = "" Open strPath & strTemp For Input As pIntFileNumber2 Do While Not EOF(pIntFileNumber2) Line Input #pIntFileNumber2, strIn: sql = sql & strIn & vbCrLf Loop Close pIntFileNumber2 On Error Resume Next ' if it exists then delete first, then recreate it DoCmd.DeleteObject acQuery, strFile On Error GoTo errhandler Set qdf = dbs.CreateQueryDef(strFile, sql) strTemp = Dir() Loop ' Reports strPath = strDir & "Reports\" strTemp = Dir(strPath) Do While strTemp <> "" strFile = Left(strTemp, InStrRev(strTemp, ".txt") - 1) Application.LoadFromText acReport, strFile, strPath & strTemp strTemp = Dir() Loop ' Tables strPath = strDir & "Tables\Local\" strTemp = Dir(strPath) Do While strTemp <> "" Select Case Right(strTemp, 4) Case ".xls" strFile = Left(strTemp, InStrRev(strTemp, ".xls") - 1) On Error Resume Next sql = "Drop Table " & strFile DoCmd.TransferSpreadsheet acImport, , strFile, strPath & strTemp, True Case ".xml" ' If Not InStr(strObj, "Schema") > 0 Then ' Application.ImportXML strObjPath, acStructureAndData ' End If End Select strTemp = Dir() Loop exithere: Set dbs = Nothing: Set qdf = Nothing Exit Sub errhandler: Select Case Err.Number Case Else MsgBox "Unhandled Error in sImportAllObjects(): " & Err.Number & vbCrLf & Err.Description End Select Resume Next End Sub