Sto diventando scema...non so perchè ma non funge...

codice:
 Dim PercorsoDB As String = miaCartella & "/proprietà.mdb"
        Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=" & PercorsoDB
        Dim Cn As New OleDbConnection(ConnString)
        Dim sql As String
        '----------------------------------  

        idSito = Strings.Mid(main.Lista.Text, 1, Strings.Len(main.Lista.Text) - 4)
        sql = "SELECT * FROM siti WHERE ID=2"
        If Cn.State = ConnectionState.Open Then Cn.Close()
        Cn.Open()
        Dim cmd As New OleDbCommand(sql, Cn)
        Dim dr As OleDbDataReader = cmd.ExecuteReader
        txtDescrizione.Text = dr.Item("descrizione")
        dr.Close()
        dr = Nothing
        Cn.Close()
        Cn = Nothing
mi da errore su dr.Item("descrizione") dicendomi che non c'è nessun valore...il problema è che il valore c'è....idem se metto dr("descrizione") (Descrizione è il nome di uno dei campi del record).

Sicuramente mi sfugge qualcosa ma nn riesco a vederla....