Premetto, senza per questo voler dare 'consigli', che la tecnologia ADO è ormai in uso da quasi (più di) 5 anni, mentre noto che molti utilizzano ancora DAO, o il meno vetusto RDO. In tutti i casi dovresti fare un po' di chiarezza quando posti il codice. Nel frammento che hai postato non è evidente se miodb e miorst sono già dichiarati.
In tutti i casi, 'alfa = miorst' andrebbe scritto come :
codice:
..
Set alfa = miorst
..
sempre che il riferimento ad alfa sia dichiarato precedentemente, come ti suggerisce peraltro giustamente xegallo, ossia:
codice:
Dim x as Recordset
Call apridb(x)
....
....
Public Sub apridb(alfa As Recordset)
Dim miodb as Database
Dim miorst as Recordset
Set miodb = OpenDatabase("database.mdb")
Set miorst = miodb.OpenRecordset("SELECT campo from tabella ", dbOpenDynaset)
Set alfa = miorst
' Comunque è più efficiente
' Set alfa = miodb.OpenRecordset("SELECT campo from tabella ", dbOpenDynaset)
' al posto di
' Set miorst = miodb.OpenRecordset("SELECT campo from tabella ", dbOpenDynaset)
' Set alfa = miorst
End Sub
Ciao,