Wow, reading my second post here, you'd think I was drunk. Nope, just tired.
miq makes a good point about the destination table not existing in the destination database. There are actually 2 ways you can copy your data. The method you choose depends upon the existence of the table in the destination database.
If the table does NOT exist....
Select Field1, Field2, ...
Into DestinationDatabase.dbo.TableName
From SourceDatabase.dbo.TableName
If the table ALREADY exists in the destination database....
Insert Into DestinationDatabase.dbo.TableName(Field1, Field2, ...)
Select Field1, Field2, ... From SourceDatabase.dbo.TableName
There really are a couple of things to worry about. First, you must have appropriate permissions in both databases. Second, Bulk Copy/Insert Into must be enabled in the destination database. And third, you must know whether the destination database already contains the table (as I already explained).
The recordset object is used to return data back from the database. Since neither SQL will return data, you don't need to use the recordset object. After creating your connection object, simply call the execute method with the SQL in it.
Ex.
strSQL = "Select Field1, field2, ....
Connetion.Execute(strSQL)