Scusami ancora un'ultima cosa sto provando a fare degli esperimenti

perchè mi dice "Varibile non definita"

codice:
Option Explicit
'importante per eseguire questo codice inserire i riferimenti:
'microsoft activex data objects

    Dim cn As New ADODB.Connection
    Dim rec As New ADODB.Recordset
    

Private Sub form_load()
     'per prima cosa si deve configurare la connessione
     cn.ConnectionString = "provider = Microsoft.Jet.OLEDB.4.0;" & _
                         "data source = c:\database.mdb;"
    Me.Height = 7500
    Me.Width = 11800

    Flsmovie.Movie = App.Path & "\actionlab.swf"
    Flsmovie.Menu = False
    'nella prima riga scrivo semplicemente che è un database access 2000
   ' se lo vuoi 97 o precedenti bisogna sostituire 4.0 con 3.51
   'nella seconda riga do il percoreco del db
   'mi raccomando i ";"
   'dopodichè la devi aprire
   cn.Open
   'adesso devo dire al recordset qual è la sua connessione
   rec.ActiveConnection = cn
   'ora gli dico che il recordset è in sola lettura
   rec.LockType = adLockReadOnly
   ' ora inserisco i nomi contenuti nel database nella listbox
   'prima bisogna aprire il recordset spiegandogli dove prendere i dati
   rec.Open "select from link"

    'Set Db = OpenDatabase(App.Path & "\db.mdb", False, False)
    'Set rec = Db.OpenRecordset("link")
    
    id = rec.RecordCount
    autore = (rec.Fields("autore"))