Tietuejoukko-ominaisuus

Koskee seuraavia

Yhdistelmäruutuobjekti

Lomakeobjekti

Luetteloruutuobjekti

Raporttiobjekti

Palauttaa tai määrittää ADO -tietuejoukko- tai DAO -tietuejoukko -objektin, joka vastaa määritetyn lomakkeen, raportin, luetteloruudun tai yhdistelmäruudun ohjausobjektin tietuelähdeia. Luku/kirjoitus.

lauseke.Tietuejoukko

lauseke Pakollinen. Lauseke, joka palauttaa jonkin Koskee seuraavia -luettelon objekteista.

Huomautuksia

Tietuejoukko-ominaisuus palauttaa tietuejoukon objektin, joka mahdollistaa tietojen selaamisen lomakkeen, raportin, luetteloruudun tai yhdistelmäruudun ohjausobjektissa. Jos lomake perustuu esimerkiksi kyselyyn, viittaus Tietuejoukko-ominaisuuteen vastaa samaa kyselyä käyttävän Tietuejoukko-objektin kloonausta. Toisin kuin käytettäessä Tietojoukon klooni -ominaisuutta, jos nykyistä tietuetta muutetaan lomakkeen Tietojoukko-ominaisuudella palautetussa tietojoukossa, samalla määritetään myös lomakkeen nykyinen tietue.

Tämä ominaisuus on käytettävissä vain käyttämällä Visual Basic for Applications (VBA) -koodia.

Tietuejoukko-ominaisuuden luku-/kirjoituskäytäntö määritetään ominaisuuden määrittämässä tietuejoukossa olevan tietuejoukon lajin (ADO tai DAO) ja tietojen lajin (Access tai SQL) mukaan.

Tietuejoukon laji

SQL-tietojen perusteella

Access-tietojen perusteella

ADO

Luku/kirjoitus

Luku/kirjoitus

DAO

Luku/kirjoitus

Seuraavassa esimerkissä avataan lomake ja tietuejoukko. Lomake sidotaan sitten tietuejoukkoon määrittämällä lomakkeen Tietuejoukko-ominaisuudeksi juuri luotu Tietuejoukko-objekti.

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

Käytä Tietuejoukko-ominaisuutta:

  • Jos haluat sitoa useita lomakkeita yhteiseen tietojoukkoon. Näin voit synkronoida useita lomakkeita. Esimerkiksi...

    Set Me.Recordset = Forms!Form1.Recordset

  • Jos haluat käyttää Tietuejoukko-objektin kanssa sellaisia menetelmiä, joita ei suoraan tueta lomakkeissa. Voit esimerkiksi käyttää Tietuejoukko-ominaisuutta ADO Etsi- tai DAO Etsi -menetelmien kanssa mukautetussa valintaikkunassa tietueen löytämiseksi.

  • Jos haluat kietoa tapahtuman (joka voidaan vetää takaisin) erilaisten muokkausten ympärille, jotka vaikuttavat useisiin lomakkeisiin.

Lomakkeen Tietuejoukko-ominaisuus voi myös muuttaa Tietuelähde-, Tietuejoukon laji- ja Tietuelukitus-ominaisuuksia. Lisäksi jotkin tietoihin liittyvät ominaisuudet voidaan kirjoittaa yli, kuten Suodatin-, Suodattimen käyttäminen-, Lajittelu- ja Lajittelun käyttäminen -ominaisuudet.

Jos lomakkeen tietuejoukkoa haetaan Kyselyn suorittaminen uudelleen -menetelmällä (esimerkiksi Forms(0).Recordset.Requery), lomakkeen sidonta saatetaan poistaa. Jos haluat päivittää tiedot tietuejoukkoon sidotussa lomakkeessa, määritä lomakkeen Tietuelähde-ominaisuus entiselleen (Forms(0).RecordSource = Forms(0).RecordSource).

Kun lomake on sidottu tietuejoukkoon, ilmenee virhe, jos käytät Suodata muodon mukaan -komentoa.

Esimerkki

Seuraavassa esimerkissä käytetään Tietuejoukko-ominaisuutta Tietuejoukko-objektin uuden kopion luomiseen nykyisestä lomakkeesta ja tulostetaan sitten kenttien nimet Virheenkorjaus-ikkunaan.

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

Seuraavassa esimerkissä käytetään Tietuejoukko-ominaisuutta ja Tietuejoukko-objektia synkronoimaan tietuejoukko lomakkeen nykyisen tietueen kanssa. Kun yrityksen nimi valitaan yhdistelmäruudusta, käytetään Etsi ensimmäinen -menetelmää paikallistamaan tämän yrityksen tietue, jolloin lomake näyttää löydetyn tietueen.

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

Seuraava koodi auttaa määrittämään, millaisen tietuejoukon lajin Tietuejoukko-ominaisuus palauttaa eri tilanteissa.

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
Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×