Egenskaben Postsæt

Vigtigt: Denne artikel er maskinoversat. Se ansvarsfraskrivelsen. Du kan finde den engelske version af denne artikel her til din orientering.

Gælder for

Kombinationsboksobjekt

Formularobjekt

Listeobjekt

Rapportobjekt

Returnerer eller angiver det ADO Postsæt- eller DAO Postsæt-objekt, der repræsenterer postkilde for den angivne formular eller rapport, det angivne listebokselement eller det angivne kontrolelement i en kombinationsboks. Læse/skriveadgang.

udtryk.Postsæt

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

Bemærkninger

Egenskaben Postsæt returnerer det postsætobjekt, der leverer dataene, som gennemses i en formular, rapport, et listebokselement eller et kontrolelement i en kombinationsboks. Hvis en formular er baseret på en forespørgsel, svarer en henvisning til egenskaben Postsæt f.eks. til at klone et Postsæt-objekt ved at anvende samme forespørgsel. I modsætning til når egenskaben RecordsetClone bruges, angives formularens aktuelle post imidlertid også, hvis du ændrer den post, der er den aktuelle, i det postsæt, der returneres af formularens Postsæt-egenskab.

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

Læse/skriveadgangsfunktionsmåden for egenskaben Postsæt bestemmes af postsættes type (ADO eller DAO) og datatypen (Access eller SQL), der er indeholdt i det postsæt, som egenskaben har identificeret.

Postsæt type

Baseret på SQL-data

Baseret på Access-data

ADO

Læse/skriveadgang

Læse/skriveadgang

DAO

I/T

Læse/skriveadgang

I følgende eksempel åbnes en formular, og derefter bindes formularen til postsættet, når formularens Postsæt-egenskab sættes til det nyligt oprettede 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

Du kan bruge egenskaben Postsæt:

  • Til at binde flere formularer til et fælles datasæt. På den måde bliver det muligt at synkronisere flere formularer. F.eks:

    Set Me.Recordset = Forms!Form1.Recordset

  • Hvis du vil benytte metoder sammen med objektet Postsæt, der ikke understøttes direkte i formularer. Du kan f.eks. bruge egenskaben Postsæt sammen med metoden ADO Søg eller DAO Søg i en brugerdefineret dialogboks, når du skal søge efter en post.

  • Hvis du vil ombryde en transaktion (som kan annulleres) omkring en række redigeringer, der påvirker flere formularer.

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

Når metoden Genforespørg til en formulars postsæt kaldes (f.eks. Forms(0).Recordset.Requery), kan det medføre, at formularen bliver ubundet. Hvis du vil opdatere data i en formular, der er bundet til et postsæt, skal du sætte egenskaben Postkilde i 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 anvender kommandoen Filtrer efter formular.

Eksempel

I følgende eksempel anvendes egenskaben Postsæt til at oprette en ny kopi af objektet Postsæt ved hjælp af 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 anvendes egenskaben Postsæt og objektet Postsæt til at synkronisere et postsæt med formularens aktuelle post. Når der vælges et firmanavn i en kombinationsboks, bruges metoden Find første til at finde posten for det pågældende firma, så 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

Følgende kode er med til at bestemme, hvilken type postsæt der returneres af egenskaben Postsæt 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

Bemærk: Ansvarsfraskrivelse for maskinoversættelse: Denne artikel er blevet oversat af et computersystem uden menneskelig indgriben. Microsoft tilbyder disse maskinoversættelse for at hjælpe ikke-engelsktalende brugere til at kunne nyde indhold om Microsofts produkter, tjenester og teknologier. Da artiklen er maskinoversat, kan den indeholde forkerte ord eller syntaks- eller grammatikfejl.

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×