Usa SQL.
Ti posto un semplice esempio in ADO, ma funziona anche in RDO e DAO.
(In RDO la Execute la invochi sull'oggetto rdoConnection, in DAO
sull'oggetto Database.)

codice:
    Dim sPathInizio As String
    Dim sPathFinale As String
    sPathInizio = "c:\DB\DBGP1.mdb" ' Il DB di partenza
    sPathFinale = "c:\DB\DBGP2.mdb" ' Il DB dove aggiungere la tabella
    Set Connessione = New adodb.Connection
    Connessione.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPathInizio & ";Persist Security Info=False"
    ' Tabella è il nome della tabella dalla quale estrarre i dati
    ' Ricorda di sostituirlo con quello corretto
    Connessione.Execute "SELECT * INTO newtable2 IN " & Chr$(34) & sPathFinale & Chr$(34) & " FROM Tabella "
Ovviamente al posto di 'SELECT *' e poi di ' FROM Tabella' puoi definire una estrazione complessa da più tabelle. La modalità potrebbe essere questa :
1) Definisci la tua query (SELECT .....FROM .....)
2) Inserisci le clausole INTO .. IN ... prima della specifica FROM :
(SELECT ..... INTO .. IN ... FROM .....)
N.B. La coppia di virgolette, Chr$(34), è indispensabile alla sintassi
dell'istruzione.

Ciao.