Rakenduskoht
Objekt Form |
Objekt Report |
Atribuudi RecordSource (Kirje allikas ) abil saate määrata vorm või aruanne andmeallika. Loetav/kirjutatav string.
avaldis.RecordSource
avaldis Nõutav. Avaldis, mis tagastab loendi Rakenduskoht objekti.
Märkused
Atribuudi RecordSource säte võib olla tabeli nimi, päringu nimi või SQL-lause. Võite kasutada näiteks järgmisi sätteid.
Näidissäte |
Kirjeldus |
Töötajad |
Tabelinimi, mis määrab andmeallikaks tabeli Töötajad. |
SELECT Orders!OrderDate FROM Orders; |
SQL-lause, mis määrab andmeallikaks tabeli Tellimused välja Tellimiskuupäev. Võite vormi või aruande juhtelemendi siduda tabeli Tellimused väljaga Tellimiskuupäev, seades juhtelemendi atribuudi ControlSource sätteks Tellimiskuupäev. |
Märkus.: Atribuudi RecordSource saate määrata, kasutades vormi või aruande atribuudilehte, makrot või Visual Basic for Applications (VBA) koodi.
VBA-s kasutage selle atribuudi määramiseks stringavaldist.
Märkus.: Avatud vormi või aruande kirjeallika muutmine põhjustab alusandmete automaatse korduspäringu loomise. Kui vormi atribuut Recordset määratakse käitusajal, siis värskendatakse atribuuti RecordSource.
Pärast vormi või aruande loomist saate muuta selle andmeallikat, muutes atribuuti RecordSource. Atribuudist RecordSource on kasu ka siis, kui soovite luua taaskasutatavat vormi või aruannet. Saate näiteks luua standardse kujundusega vormi, teha sellest koopia ning muuta atribuuti RecordSource andmete kuvamiseks mõnest muust tabelist, päringust või SQL-lausest.
Vormi kirjeallika kirjete arvu piiritlemine võib jõudlust parandada, eriti kui kasutate võrgus töötavat rakendust. Saate näiteks määrata vormi atribuudi RecordSource sätteks SQL-lause, mis tagastab üksiku kirje, ning muuta vormi kirjeallikat sõltuvalt kasutaja valitud kriteeriumidest.
Näide.
Järgmises näites määratakse atribuudi RecordSource väärtuseks tabel Kliendid:
Forms!frmCustomers.RecordSource = "Customers"
Järgmises näites muudetakse vormi kirjeallikaks tabeli Kliendid üksik kirje, sõltuvalt liitboksis cmboCompanyName valitud ettevõtte nimele. SQL-lause täidab liitboksi ja tagastab kliendi ID (seotud veerus) ja ettevõtte nime. Kliendi ID kuulub tekstandmetüüpi.
Sub cmboCompanyName_AfterUpdate()
Dim strNewRecord As String
strNewRecord = "SELECT * FROM Customers " _
& " WHERE CustomerID = '" _
& Me!cmboCompanyName.Value & "'"
Me.RecordSource = strNewRecord
End Sub