Bejelentkezés Microsoft-fiókkal
Jelentkezzen be, vagy hozzon létre egy fiókot.
Üdvözöljük!
Válasszon másik fiókot.
Több fiókja van
Válassza ki a bejelentkezéshez használni kívánt fiókot.

Érvényesség

ComboBox objektum

Form objektum

ListBox objektum

Report objektum

Az adott űrlap (Form), jelentés (Report), lista (ListBox) vezérlő vagy kombinált lista (ComboBox) vezérlő rekordforrását jelentő ADO-rekordhalmaz vagy DAO-rekordhalmaz visszatérítésére vagy beállítására szolgál. Olvasható/írható.

kifejezés.Recordset

Kifejezés Megadása kötelező. Egy kifejezés, amely a Hatókör listában szereplő objektumok egyikét adja vissza.

Megjegyzések

A Recordset (Rekordhalmaz) tulajdonság az űrlapról, listapanel-vezérlőből vagy kombinált lista-vezérlőből böngészett adatokat biztosító rekordhalmaz-objektumot téríti vissza. Lekérdezésen alapuló űrlap esetén a Recordset tulajdonság megadása például egyenértékű a rekordhalmaz-objektum ugyanazon lekérdezéssel történő ismételt előállításával (klónozásával). A RecordsetClone tulajdonság használatától eltérően azonban, az űrlap Recordset tulajdonsága által visszatérített rekordhalmaz aktuális rekordjának megváltoztatása beállítja az űrlap aktuális rekordját is.

Ez a tulajdonság csak Visual Basic for Applications (VBA) kód használatával érhető el.

A Recordset olvasási/írási viselkedése a rekordhalmaz típusától (ADO vagy DAO), és a tulajdonság által azonosított rekordhalmazban szereplő adatok típusától (Access vagy SQL) függ.

Rekordhalmaz típusa

SQL-adatok alapján

Access-adatok alapján

ADO

Olvasható/írható

Olvasható/írható

DAO

Olvasható/írható

Az alábbi példában szereplő kód megnyit egy űrlapot, majd az űrlapot a rekordhalmazhoz köti úgy, hogy az űrlap Recordset tulajdonságát az újonnan létrehozott rekordhalmaz-objektumra állítja.

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

A Recordset tulajdonságot az alábbi esetekben érdemes használni:

  • Ha szeretne több űrlapot egyetlen közös adatkészlethez kötni. Ez lehetővé teszi több űrlap szinkronizálását. Például:

    Set Me.Recordset = Forms!Form1.Recordset

  • Ha olyan módszereket szeretne a rekordhalmaz-objektumon alkalmazni, melyek közvetlenül űrlapon történő alkalmazását nem támogatja a rendszer. Használhatja például a Recordset tulajdonságot egyéni párbeszédablakból indított ADO keresés vagy DAO keresés végrehajtásához, egy rekord megkereséséhez.

  • Ha szeretné a tranzakciókat (melyek visszagörgethetők) több űrlapot érintő szerkesztések mentén tördelni.

Egy űrlap Recordset tulajdonságának módosítása a RecordSource (Rekordforrás), RecordsetType (Rekordtípus), és RecordLocks (Rekordzárolás) tulajdonságokra is hatással lehet. Ezenkívül elképzelhető, hogy a rendszer felülír néhány adatokkal kapcsolatos tulajdonságot, például a Filter (Szűrő), FilterOn, OrderBy (Rendezés), és OrderByOn tulajdonságokat.

Az űrlap rekordhalmazának Requery metódusának meghívása (például Forms(0).Recordset.Requery) kötetlenné teheti az űrlapot. Egy rekordhalmazhoz kötött űrlap adatainak frissítéséhez állítsa az űrlap RecordSource tulajdonságát önmagára (Forms(0).RecordSource = Forms(0).RecordSource).

Ha egy űrlap rekordkészlethez kötött, a Szűrés űrlappal parancs kiadásakor hibát fog jelezni a rendszer.

Példa

Az alábbi példában szereplő kód futtatásakor a rendszer létrehozza a rekordhalmaz-objektum egy új másolatát a Recordset tulajdonságot használva, majd a kiírja a mezők neveit a Debug (Hibakeresés) ablakba.

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

A következő példa a Recordset tulajdonságot és a rekordhalmaz-objektumot használva szinkronizálja a rekordhalmazt az űrlap aktuális rekordjával. Amikor a kombinált listából a felhasználó kiválaszt egy cégnevet, a rendszer a FindFirst (Első találat) módszerrel megkeresi az adott céghez tartozó rekordot, aminek eredményeképpen az űrlap ezt a rekordot fogja megjeleníteni.

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

Az alábbi kód segítségével megállapíthatja, hogy a Recordset tulajdonság hatására milyen rekordhalmazt térít vissza a rendszer különböző feltételek teljesülése esetén.

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

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.

Hasznos volt ez az információ?

Mennyire elégedett a fordítás minőségével?
Mi volt hatással a felhasználói élményére?
Ha elküldi a visszajelzést, a Microsoft felhasználja azt a termékei és szolgáltatásai továbbfejlesztéséhez. Az informatikai rendszergazda képes lesz ezeket az adatokat összegyűjteni. Adatvédelmi nyilatkozat.

Köszönjük a visszajelzését!

×