Accedi ai recordset VBA: apri, conta, loop e altro

In questo tutorial impareremo come aprire un Recordset, contare il numero di record nel Recordset, scorrere il Recordset, aggiungere un record, aggiornare un record, leggere un valore da un record ed eliminare un record.

Abbiamo una tabella di accesso, chiamata ProductsT mostrata di seguito:

Aprire un Recordset

Dobbiamo prima stabilire il database che intendiamo utilizzare, in questo caso è il database attualmente aperto. Possiamo quindi utilizzare il metodo CurrentDB.OpenRecordSet per aprire/creare il nostro Recordset.

Per creare un Recordset che ci permetta di manipolare i dati nella tabella denominata ProductsT, utilizzeremmo il seguente codice:

1 CurrentDb.OpenRecordset ("ProdottiT")

Conteggio del numero di record utilizzando VBA

Una volta creato un Recordset, molto probabilmente vorrai fare qualcosa di utile con esso o manipolare i dati in esso in qualche modo. Puoi contare il numero di record nel tuo set di dati (in questo caso la tabella denominata ProductsT) utilizzando il codice seguente:

1 MsgBox CurrentDb.OpenRecordset("ProdottiT").RecordCount

Loop attraverso un RecordSet usando VBA

Il seguente codice scorre attraverso il nostro RecordSet:

1234567891011121314 Sub RecordSet_Loop ()Oscura il nostro database come databaseDim ourRecordset As RecordsetImposta il nostro database = CurrentDbImposta nostroRecordset = nostroDatabase.OpenRecordset("ProdottiT")Fai fino al nostroRecordset.EOFMsgBox ourRecordset!ProductIDourRecordset.MoveNextCiclo continuoFine sottotitolo

Aggiungere un record a un RecordSet

Utilizzare il metodo Recordset.AddNew per aggiungere un nuovo record al RecordSet:

1234567891011121314 Sub RecordSet_Add()Con CurrentDb.OpenRecordset("ProdottiT").Aggiungere nuova![ID prodotto] = 8![ProductName] = "Prodotto HHH"![ProductPricePerUnit] = 10![ProductCategory] = "Giocattoli"![UnitsInStock] = 15.AggiornareTermina conFine sottotitolo

Il risultato è:

Aggiornare un Recordset

Devi usare il metodo Recordset.AddNew o Recordset.Edit. Dopo questa istruzione è necessario utilizzare il metodo Recordset.Update per mantenere le modifiche.

Lettura di valori da un record

Devi usare il metodo Recordset.FindFirst per creare un record, il record corrente. Devi quindi utilizzare Recordset.Fields per specificare quale campo guardare.

12345678910111213141516 Sub RecordSet_ReadValue ()Oscura il nostro database come databaseDim ourRecordset As RecordsetImposta il nostro database = CurrentDbImposta ourRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset)Con il nostro Recordset.FindFirst "ProductName = " & "'Product CCC'"Se .Nomatch alloraMsgBox "Nessuna corrispondenza trovata"AltroMsgBox ourRecordset.Fields("CategoriaProdotto")Finisci seTermina conFine sottotitolo

Il risultato è:

Eliminare un record da un recordset

Per eliminare un record da un Recordset devi prima renderlo il record corrente utilizzando il metodo Recordset.FindFirst. È quindi possibile eliminarlo utilizzando il metodo Recordset.Delete. Il codice seguente mostra come eliminare il record 2 nel set di dati:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Oscura il nostro database come databaseDim ourRecordset As RecordsetImposta il nostro database = CurrentDbImposta ourRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset)Con il nostro Recordset.FindFirst "ProductName = " & "'Product BBB'"Se .Nomatch alloraMsgBox "Nessuna corrispondenza trovata"AltroourRecordset.EliminaFinisci seTermina con"Riaprire il tavolo"DoCmd.Close aTable, "ProdottiT"DoCmd.OpenTable "ProdottiT"Fine sottotitolo

Il risultato è:

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave