You could create a temp table in Access from the query
select * into [MyNewTable] from [MyQuery]
but you need to delete it before you run the query again, so you might run into problems if this is a multi user db
Private Sub Command0_Click()
Const newtbl As String = "mynewtable"
Const qry As String = "query1"
Dim db As DAO.Database, td As DAO.TableDef
Set db = CurrentDb
On Error Resume Next
'see if table already exists
Set td = db.TableDefs(newtbl)
If Err.Number = 0 Then
'table exists. delete it
DoCmd.DeleteObject acTable, newtbl
If Err.Number <> 0 Then
'failed to delete the mofo :(
MsgBox Err.Description
Exit Sub
End If
Else
Err.Clear
End If
On Error GoTo 0
CurrentDb.Execute "select * into " & newtbl & " from " & qry
RefreshDatabaseWindow
End Sub