VBA Code to Export all visible objects to a new ".mdb" database

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Heri101
    New Member
    • Apr 2010
    • 9

    #1

    VBA Code to Export all visible objects to a new ".mdb" database

    Please I need a VBA code to export all visible database objects (queries and table links) into a new “.mdb“ database, save with a different name.
    Please help me with complete code as I am just a beginner,
  • orangeCat
    New Member
    • Dec 2007
    • 83

    #2
    Henri,

    Why not create a new empty database, then import (get external data-> import)
    the objects from your current database; then delete any specific items you absolutely don't want?

    Comment

    • Heri101
      New Member
      • Apr 2010
      • 9

      #3
      OrangeCat,
      Thanks for reply, that’s right, I can do it that way, but I just want it to automate and make it simple for other users, as I am setting up this database to perform as a intermediate query builder utility, where user can link the tables from several databases, create the queries based on these, and then both queries and their source table links stored in separate database, then users will use these queries in another program (GIS), sure I need it to be done from my query builder utility, so please help,
      Best regards,
      Heri.

      Comment

      • Heri101
        New Member
        • Apr 2010
        • 9

        #4
        No any response? is it impossible task?

        Comment

        • Heri101
          New Member
          • Apr 2010
          • 9

          #5
          This has been sorted.

          Comment

          • orangeCat
            New Member
            • Dec 2007
            • 83

            #6
            Have you solved your issue?
            What did you do?

            Comment

            • Heri101
              New Member
              • Apr 2010
              • 9

              #7
              Cat, See below.

              Code:
              Public Sub CreateNewDB()
              Dim strTargetDB As String
              Dim qdf As QueryDef
              Dim tbl As TableDef
              Dim strNewDB As String
              
              strNewDB = InputBox("Please Enter New Database Name", "Database Name", "New_database")
              On Error Resume Next
                strTargetDB = CurrentProject.Path & "\" & strNewDB & ".mdb"
                  DBEngine.CreateDatabase strTargetDB, dbLangGeneral
              For Each qdf In CurrentDb.QueryDefs
               If Left$(qdf.Name, 3) = "qry" Then
                  DoCmd.TransferDatabase acExport, "Microsoft Access", _
                          strTargetDB, acQuery, qdf.Name, qdf.Name
                  End If
              Next
              
              For Each tbl In CurrentDb.TableDefs
               If (tbl.Connect) <> "" Then
                If (tbl.Name) <> "MySys*" Then
                  DoCmd.TransferDatabase acExport, "Microsoft Access", _
                          strTargetDB, acTable, tbl.Name, tbl.Name
                  End If
                End If
              Next
                 On Error GoTo 0
                 Exit Sub
              End Sub

              Comment

              Working...