Proprietà Recordset

Importante :  Il presente articolo è stato tradotto automaticamente, vedere la dichiarazione di non responsabilità. Per visualizzare la versione inglese dell'articolo, fare clic qui.

Si applica a

Oggetto ComboBox

Oggetto Form

Oggetto ListBox

Oggetto Report

Restituisce o imposta l'oggetto ADO Recordset o l'oggetto DAO Recordset che rappresenta l'origine record per la maschera, il report, il controllo casella di riepilogo o il controllo casella combinata specificati. Valore di lettura/scrittura.

espressione.Recordset

espressione Obbligatorio. Espressione che restituisce uno degli oggetti dell'elenco Si applica a.

Osservazioni

La proprietà Recordset restituisce l'oggetto Recordset che fornisce i dati visualizzati in una maschera, un report, un controllo casella di riepilogo o un controllo casella combinata. Se, ad esempio, una maschera si basa su una query, fare riferimento alla proprietà Recordset equivale a duplicare un oggetto Recordset tramite la stessa query. Tuttavia, a differenza dell'utilizzo della proprietà RecordsetClone, anche la modifica del record corrente nel recordset restituito dalla proprietà Recordset della maschera imposta il record corrente della maschera.

Questa proprietà è disponibile solo utilizzando Visual Basic for Applications Edition (VBA).

Il comportamento di tipo lettura/scrittura della proprietà Recordset è determinato dal tipo di recordset (ADO o DAO) e dal tipo di dati (Access o SQL) contenuto nel recordset identificato dalla proprietà.

Recordset tipo

Basato su dati SQL

Basato su dati Access

ADO

Lettura/scrittura

Lettura/scrittura

DAO

N/D

Lettura/scrittura

Nell'esempio seguente viene aperta una maschera, viene aperto un recordset e quindi la maschera viene associata al recordset tramite l'impostazione della proprietà Recordset della maschera su un nuovo oggetto Recordset creato.

Global rstSuppliers As ADODB.RecordsetSub MakeRW()DoCmd.OpenForm "Suppliers"Set rstSuppliers = New ADODB.RecordsetrstSuppliers.CursorLocation = adUseClientrstSuppliers.Open "Select * From Suppliers", _CurrentProject.Connection, adOpenKeyset, adLockOptimisticSet Forms("Suppliers").Recordset = rstSuppliersEnd Sub

Utilizzare la proprietà Recordset per:

  • Associare più maschere a un set di dati comuni. Ciò consente la sincronizzazione di più maschere. Ad esempio:

    Set Me.Recordset = Forms!Form1.Recordset

  • Utilizzare metodi con l'oggetto Recordset non direttamente supportati dalle maschere. Ad esempio, è possibile utilizzare la proprietà Recordset con il metodo ADO Find oppure il metodo DAO Find in una finestra di dialogo personalizzata per la ricerca di un record.

  • Disporre una transazione, di cui è possibile eseguire il rollback, attorno a un set di modifiche che interessano più maschere.

La modifica della proprietà Recordset di una maschera può inoltre modificare le proprietà RecordSource, RecordsetType e RecordLocks. È inoltre possibile che alcune proprietà correlate ai dati vengano sovrascritte, ad esempio le proprietà Filter, FilterOn, OrderBy e OrderByOn.

La chiamata al metodo Requery di un recordset di una maschera, ad esempio Forms(0).Recordset.Requery, può comportare l'annullamento dell'associazione della maschera. Per aggiornare i dati di una maschera associata a un recordset, impostare la proprietà RecordSource della maschera su sé stessa (Forms(0).RecordSource = Forms(0).RecordSource).

Se una maschera è associata a un recordset, si verificherà un errore se si utilizza il comando Filtro in base a maschera.

Esempio

Nell'esempio seguente la proprietà Recordset viene utilizzata per creare una nuova copia dell'oggetto Recordset in base alla maschera corrente e quindi i nomi dei campi vengono stampati nella finestra Debug.

Sub Print_Field_Names()
Dim rst As DAO.Recordset, intI As Integer
Dim fld As Field
Set rst = Me.Recordset
For Each fld in rst.Fields
' Print field names.
Debug.Print fld.Name
Next
End Sub

Nell'esempio seguente la proprietà Recordset e l'oggetto Recordset vengono utilizzati per sincronizzare un recordset in base al record corrente della maschera. Quando un nome di società viene selezionato da una casella combinata, viene utilizzato il metodo FindFirst per individuare il record di tale società e quindi il record trovato viene visualizzato nella maschera.

Sub SupplierID_AfterUpdate()
Dim rst As DAO.Recordset
Dim strSearchName As String
Set rst = Me.Recordset
strSearchName = CStr(Me!SupplierID)
rst.FindFirst "SupplierID = " & strSearchName
If rst.NoMatch Then
MsgBox "Record not found"
End If
rst.Close
End Sub

Il codice seguente consente di determinare il tipo recordset restituito dalla proprietà Recordset in varie condizioni.

Sub CheckRSType()
Dim rs as Object
Set rs=Forms(0).Recordset
If TypeOf rs Is DAO.Recordset Then
MsgBox "DAO Recordset"
ElseIf TypeOf rs is ADODB.Recordset Then
MsgBox "ADO Recordset"
End If
End Sub

Nota : Dichiarazione di non responsabilità per la traduzione automatica: Il presente articolo è stato tradotto tramite un software di traduzione automatica e non da una persona. Microsoft offre le traduzioni automatiche per consentire a coloro che non conoscono la lingua inglese di leggere gli articoli sui prodotti, sui servizi e sulle tecnologie Microsoft. Dal momento che l'articolo è stato tradotto automaticamente, potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli.

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×