Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.

Gælder for

ComboBox-objekt

Formularobjekt

ListBox-objekt

Rapportobjekt

Returnerer eller angiver objekterne ADO Postsæt eller DAO Postsæt, der repræsenterer postkilde for den angivne formular, rapport, listefeltelement eller kombinationsfeltelement. Læs/skriv.

udtryk.Postsæt

udtryk Påkrævet. Et udtryk, der returnerer et af objekterne på listen Gælder for.

Bemærkninger

Egenskaben Postsæt returnerer postsætobjektet, der indeholder de data, der skal gennemses i en formular, rapport, listefeltelement eller kombinationsfeltelement. Hvis en formular er baseret på en forespørgsel, svarer det at referere til egenskaben Postsæt til at klone et Postsæt-objekt ved hjælp af den samme forespørgsel. Men i modsætning til at bruge egenskaben RecordsetClone så indstilles formularens aktuelle post også, når man ændrer, hvilken post der er aktuel i postsættet ved hjælp af formularens Postsæt-egenskab.

Denne egenskab er kun tilgængelig ved hjælp af VBA-kode (Visual Basic for Applications).

Læs/skriv-funktionaliteten for egenskaben Postsæt bestemmes af typen af postsæt (ADO eller DAO) og typen af data (Access eller SQL), der er indeholdt i postsættet, der er identificeret for egenskaben.

Postsæt -type

Baseret på SQL-data

Baseret på Access-data

ADO

Læs/skriv

Læs/skriv

DAO

I/T

Læs/skriv

I nedenstående eksempel åbnes en formular, åbnes et postsæt og derefter bindes formularen til postsættet ved at indstille formularens Postsæt-egenskab til det nyoprettede Postsæt-objekt.

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

Brug af Postsæt-egenskaben:

  • Til at binde flere formularer til et fælles datasæt. Dette giver mulighed for synkronisering af flere formularer. For eksempel:

    Set Me.Recordset = Forms!Form1.Recordset

  • Til at bruge metoder med Postsæt-objektet, der ikke understøttes direkte i formularer. Eksempelvis kan du bruge Postsæt-egenskaben med metoderne ADO Søg eller DAO Søg i en brugerdefineret dialogboks til at finde en post.

  • Til at ombryde en transaktion (som kan annulleres) omkring et sæt ændringer, der påvirker flere formularer.

Ændring af en formulars Postsæt-egenskab kan også ændre egenskaberne Postkilde, Postsættype og Postlåse . Nogle datarelaterede egenskaber kan også tilsidesættes, f.eks. egenskaberne Filter, FilterTil, SorterEfter og SorterEfterTil .

Kald af metoden Genforespørgsel i en formulars postsæt (f.eks. Forms(0).Recordset.Requery) kan medføre, at formularen bliver ubundet. Hvis du vil opdatere dataene i en formular, der er bundet til et postsæt, skal du angive egenskaben Postkilde for formularen til sig selv (Forms(0).RecordSource = Forms(0).RecordSource).

Når en formular er bundet til et postsæt, opstår der en fejl, hvis du bruger kommandoen Filtrer efter formular.

Eksempel

I følgende eksempel bruges egenskaben Postsæt til at oprette en ny kopi af objektet Postsæt fra den aktuelle formular, og derefter udskrives navnene på felterne i vinduet Fejlfinding.

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

I næste eksempel bruges Postsæt-egenskaben og Postsæt-objektet til at synkronisere et postsæt med formularens aktuelle post. Når et firmanavn vælges i et kombinationsfelt, så benyttes FindFørst-metoden til at finde posten for det pågældende firma, der medfører, at formularen viser den fundne post.

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

Den følgende kode hjælper med til at bestemme, hvilken type postsæt der returneres af Recordset-egenskaben under forskellige betingelser.

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

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×