Vzťahuje sa na
Objekt ComboBox |
Objekt Form |
Objekt ListBox |
Objekt Report |
Vráti alebo nastaví objekt ADO Recordset alebo objekt DAO Recordset predstavujúci zdroj záznamov pre zadaný formulár, zostavu, ovládací prvok zoznamu alebo ovládací prvok rozbaľovacieho poľa. Na čítanie a zapisovanie.
výraz.SkupinaZáznamov
Výraz Povinný argument. Výraz, ktorý vráti jeden z objektov v zozname Vzťahuje sa na.
Poznámky
Vlastnosť SkupinaZáznamov vráti objekt skupina záznamov, ktorý poskytuje údaje prehľadávané vo formulári, zostave, ovládacom prvku zoznamu alebo ovládacom prvku rozbaľovacieho poľa. Ak je formulár založený na dotaze, odkaz na vlastnosť SkupinaZáznamov je napríklad ekvivalentom klonovania objektu Recordset pomocou toho istého dotazu. Ale na rozdiel od použitia vlastnosti KlonSkupinyZáznamov, ktorá zmení, ktorý záznam je aktuálny v skupine záznamov vrátených vlastnosťou formulára SkupinaZáznamov, nastaví aj aktuálny záznam formulára.
Táto vlastnosť je k dispozícii, iba ak používate kód Visual Basic for Applications (VBA).
Správanie vlastnosti SkupinaZáznamov v oblasti čítania a zapisovania závisí od typu skupiny záznamov (ADO alebo DAO) a typu údajov (Access alebo SQL), ktoré sa nachádzajú v skupine záznamov identifikovaných touto vlastnosťou.
Typ Recordset |
Založený na údajoch SQL |
Založený na údajoch Accessu |
ADO |
Na čítanie a zapisovanie |
Na čítanie a zapisovanie |
DAO |
Nie je k dispozícii |
Na čítanie a zapisovanie |
V nasledujúcom príklade otvorí sa formulár, otvorí sa skupina záznamov a potom sa zviaže formulári so skupinou záznamov nastavením vlastnosti formulára SkupinaZáznamov na novovytvorený objekt Recordset.
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
Použite vlastnosť SkupinaZáznamov:
-
na naviazanie viacerých formulárov na spoločnú množinu údajov. Umožňuje to synchronizáciu viacerých formulárov. Príklad:
Set Me.Recordset = Forms!Form1.Recordset
-
Na používanie metód, ktoré nie sú priamo podporované vo formulároch, pomocou objektu Recordset. Môžete napríklad použiť vlastnosť SkupinaZáznamov pomocou metód ADO Hľadať alebo DAO Vyhľadať uvedených vo vlastnom dialógovom okne na vyhľadanie záznamu.
-
zabalenie transakcie (ktoré možno vrátiť späť) do množiny úprav, ktoré majú vplyv na viaceré formuláre.
Zmena vlastnosti formulára SkupinaZáznamov môže zmeniť aj vlastnosti ZdrojZáznamov, TypSkupinyZáznamov a UzamknutieZáznamov. Okrem toho niektoré vlastnosti týkajúce sa údajov sa môžu prepísať, napríklad vlastnosti Filter, PriZapnutíFiltra, ZoradiťPodľa a ZoradeniePodľaPoložkyZapnuté.
Volanie metódy Requery skupiny záznamov formulára (napríklad Forms(0).Recordset.Requery) môže spôsobiť, že sa formulár stane nenaviazaným. Ak chcete údaje vo formulári, ktorý sa viaže na skupinu záznamov, obnoviť, nastavte vlastnosť ZdrojZáznamov formulára na seba (Forms(0).RecordSource = Forms(0).RecordSource).
Ak sa formulár viaže na skupinu záznamov, ak použijete príkaz Filter pomocou formulára, vyskytne sa chyba.
Príklad
Nasledujúci príklad používa vlastnosť SkupinaZáznamov na vytvorenie novej kópie objektu Recordset z aktuálneho formulára, a potom vytlačí názvy polí v okne ladení.
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
Nasledujúci príklad používa vlastnosť SkupinaZáznamov a objekt Recordset na synchronizovanie skupiny záznamov s aktuálnym záznamom formulára. Po výbere názvu spoločnosti v rozbaľovacom poli sa použije metóda FindFirst na vyhľadanie záznamu o spoločnosti, ktorá spôsobí, že formulár zobrazí nájdený záznam.
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
Nasledujúci kód pomáha zistiť, aký typ skupiny záznamov vráti vlastnosť SkupinaZáznamov za rôznych podmienok.
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