You haven't initialized the connection object
Easiest way to do it is to dim your objects with New
Dim oConn As New ADODB.Connection
Or before you the open you can put
Set oConn = New ADODB.Connection
Its one or the other, not both

Putting it later can save some resources as it doesn't initilalize it until its required to be used. Otherwise the OS reserves the resources for it right away and it wastes resources until its used.
and yes you'll need to do that for bothof your recordsets as well
The 2nd connection I see you have declared should only be required IF its to a 2nd database. You can have multiple recordsets and command objects on one connection (actually highly suggested)