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