Vlastnost Recordset (Sada záznamů)

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Platí pro

Pole se seznamem objektu

Objekt formuláře

Seznam objektu

Objekt sestavy

Vrátí nebo nastaví ADO záznamů nebo objektu DAO záznamů představující Zdroj záznamů pro zadané formuláře, sestavy, ovládací prvek seznam nebo ovládací prvek pole se seznamem. Pro čtení i zápis.

výraz. Sada záznamů

výraz Povinné. Výraz, který vrací jednu objektů v seznamu platí pro.

Poznámky

Vlastnost Recordset vrátí záznamů objekt, který obsahuje data zobrazená v formuláře, sestavy, ovládací prvek seznam nebo ovládací prvek pole se seznamem. Pokud formuláře je na základě dotazu, například odkazující na vlastnost Recordset odpovídá klonováním objektu záznamů pomocí stejného dotazu. Však na rozdíl od vlastnost , změna, záznam je aktuální v sadě záznamů vrácených vlastnost Recordset formuláře také nastaví aktuálního záznamu ve formuláři.

Tato vlastnost je k dispozici pouze jazyka Visual Basic for Applications (VBA) kód.

Chování pro čtení i zápis vlastnost Recordset je určený podle typu záznamů (ADO nebo DAO) a typ dat (Accessu nebo SQL) obsažených v sadě záznamů podle vlastnosti.

Sada záznamů Typ

Na základě dat SQL

Na základě dat aplikace Access

OBJEKTY ADO

Pro čtení i zápis

Pro čtení i zápis

ROZHRANÍ DAO

Není k dispozici.

Pro čtení i zápis

Následující příklad otevře formulář, otevře sada záznamů a potom vytvoří vazbu s formuláři do sady záznamů nastavením vlastnost Recordset formuláře do nově vytvořený objektu záznamů .

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žijte vlastnost Recordset :

  • Svázat více formulářů společnou sadu dat. Díky synchronizace více formulářů. Například

    Set Me.Recordset = Forms!Form1.Recordset

  • Použití metod pro objekty záznamů , které nejsou podporovány přímo ve formulářích. Můžete třeba vlastnost Recordset s ADO Najít nebo DAO Najít způsobů ve vlastním dialogu hledání záznamu.

  • Obtékání transakce (který můžete vrátit zpět) kolem sady úpravy, které ovlivňují více formulářů.

Vlastnost Recordset formuláře mohou také změna vlastnosti zdroj záznamů, RecordsetTypea uzamčení záznamů . Navíc některých vlastností souvisejících dat může přepsat, například Filtr, FilterOn, Řadit podlea převzaté .

Opětovné spuštění metody záznamů formuláře (například Forms(0).Recordset.Requery) mohou způsobit formulář stane nevázaný. Abyste mohli aktualizovat data ve formátu vázaný na sadu záznamů, nastavte vlastnost zdroj záznamů formuláře na samotné (Forms(0).RecordSource = Forms(0).RecordSource).

Když do formuláře je vázaný na sadu záznamů, dojde k chybě použít filtr podle formuláře příkaz.

Příklad

Následující příklad používá vlastnost Recordset vytvořit novou kopii objektu Recordset z aktuálního formuláře a potom vytiskne názvy polí v okně ladění.

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

Následující příklad používá k synchronizaci záznamů s aktuálním záznamu formuláře vlastnost Recordset a objektu sady záznamů . Když je název společnosti je vybrané pole se seznamem, FindFirst metoda slouží k nalezení záznamu pro tuto společnost formulář pro zobrazení nalezených záznamu.

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

Následující kód umožňuje určit, jaký typ sady záznamů vám vrátil vlastnost Recordset podle různých podmínek.

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

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×