HJUU¿ycie zestawu rekordów zachowanego w plikuADO pozwala zachowaæ Recordset w pamiêci na dysku i pracowaæ z nim z dowolnej aplikacji VBA...

Jak cię złapią, to znaczy, że oszukiwałeś. Jak nie, to znaczy, że posłużyłeś się odpowiednią taktyką.
Skorzystaj z metody save obiektu Recordset, aby go za­chowaæ w pamiêci. Podaj nazwê pliku i jeden z nastêpuj¹cych typów formatów:
adPersitADTG - Advanced Data TableGram adPersitXML - Extensible Markup Language
454
Programowanie w Access 2
Procedura w przyk³adzie 3.9.B otwiera Recordset na podstawie poleceniaSQ Po otwarciu zestawu rekordów metoda save umo¿liwia umieszczenie rekon w pliku. Metoda save nie zamyka obiektu Recordset. Mo¿na kontynuowaæ pij z zestawem rekordów. Zamknij Recordset, je¿eli nie planujesz ju¿ go wiêcej u¿y
Przyk³ad 3.9.B. Zachowywanie rekordów w pliku na d> sku
Sub SaveRecordsToDisk()
Dim rst As New ADODB.Recordset
Dim strSQL As String
Dim strNazwaPliku As String
StrNazwaPliku = "c:\AgenciInfo.rst"
StrSQL = "SELECT [Imie]&" & Chr$(34) & " " & Chr$(34)
& " & [Nazwisko] AS [Imiê Nazwisko], [Ulica]&" & Chr$(34) &
", " & Chr$(34) & " & [Miasto] AS Adres, tblAgenci.Telefon" &
vbNewLine & "FROM tblAgenci;"
' otwórz Recordset w oparciu o okreœlore polecenie SQL ' skorzystaj z aktualnego po³¹czenia
rst.Open strSQL, CurrentProject.Connect ion
' zachowaj Recordset w pliku Agencilnfo.rst
' korzystaj¹c z formatu Advanced Table DataGram (ADTG)
rst.Save strNazwaPliku, adPersistADTG rst.Close
MsgBox "Zapisano rekordy w pliku " & StrNazwaPliku & ". End Sub
 
 
Co mo¿na zrobiæ z zachowanym w pliku zestwem rekordów? Plik taki mo¿na w ka¿dej chwili otworzyæ bez potrzeby nawi¹zywania ³¹cznoœci ze Ÿród³em danychi Procedura w przyk³adzie 3.9.C demonstruje, w jaki sposób mo¿na doczepiæ zachowa ne w poprzedniej procedurze rekordy do formularza przygotowanego w aplikacji Ad cess. Procedura BindRecordsetToForm jest wywo³ana w czasie ³adowania formularg z procedury zdarzenia przy za³adowaniu (Load). Przy otwieraniu zestawu rekordov zachowanego w pliku na dysku nale¿y skorzystaæ z us³ug dostawcy o nazwie MSPei sistOLEDB:
 
- I
! Tworzenie i manipulowanie bazami danych za pomoc¹ ADO
455
£st.Open "C:\AgenciInfo.rst", "Provider=MSPersist", , , adCmdFile
 
Sta³a adCmdFile w powy¿szym poleceniu wskazuje, ¿e zachowany Recordset nale¿y otworzyæ z pliku wskazanego w argumencie Source ("C:\AgenciInfo.rst").
1, Sporz¹dŸ formularz pokazany poni¿ej. Nie wskazuj na razie, sk¹d maj¹ pocho­dziæ dane. Formularz powinnien byæ niezwi¹zany ze Ÿród³em danych (oznacza to, ¿e nie nale¿y ustawiaæ w³aœciwoœci Ÿród³o rekordów (Recordsource) for­mularza). Umieœæ nastêpnie trzy pola tekstu w tym formularzu i ustaw nastêpuj¹­ce w³aœciwoœci tych pól:
 
W³aœciwoœæ
Nazwa
Nazwa txtDane
ród³o formantU". Imiê Nazwisko
Nazwa: txtAdres
ród³o formantu: Adres
Nazwa: txtTelefon
ród³o formantu: Telefon
Uwaga: Nazwy podane w ustawieniu w³aœciwoœci Ÿród³o formantu (ControlSource) pól tekstu s¹ nazwami pól w zachowanym zestawie rekordów.
IrmAqencilnfo: Formularz
|TT • 1 ■ i ■ Z ■ i • 3 ■ i ■■ 4 • i • 5 • i ■ 6 ' i • 7 • i • 8' i■ ■ i ' 8 ' I ' 10
 
456
Programowanie w Access 291
2. Wpisz nastêpuj¹c¹ procedurê zdarzenia Przy za³adowaniu (Load):
Private Sub Form_Load() BindRecordsetToForm End Sub
Wstaw nowy modu³ i wpisz w nim procedurê w przyk³adzie 3.9.C poni¿ej.
Zachowaj formularz jako frmAgenciinfo.
Otwórz formularz frmAgencilnfo.
Po otwarciu formularza mo¿esz przegl¹daæ udostêpnione rekordy. Rekordy tej przeznaczone tylko do odczytu.
Otwórz teraz okno W³aœciwoœci tego formularza i sprawdŸ ustawienie w³aœciwi œci Ÿród³o rekordów (Recordsource). Jak widaæ na poni¿szym rysunku, formuln wyœwietla dane znajduj¹ce siê w pliku sporz¹dzonym przez procedurê 3.9.B wczeœni! w tym rozdziale.
81 frmAgencilnfo: I iii-iimlai.»
Imiê Nazwisko;
Adres; Obwodowa 12, Gdañsk
Telefon; J058242209
Rekord; M
1 ► u ■
 
li Formularz
 

 
Format Dane | Zdarzenie j Inne
ród³o rekordów BTiffHWflB
Filtr, ,
Uporz¹dkuj wedtug
Filtry dozwolone , Tak
Edycja dozwolona Tak
Usuwanie dozwolone Tak
Dodawanie dozwolone Tak
Wprowadzanie danych Nie
Typ zestawu rekordów Dynamiczny
Maksymalna liczba rekordów .... 10000
Filtruj serwer
Tabela unikatowa
Polecenie ponowej synchronizacji
Wszystkie
* 1 ■•• 1 jJ
J
Tworzenie i manipulowanie bazami danych za pomoc¹ ADO
457
Przyk³ad 3.9.C. Wykorzystanie zestawu rekordów zachowanego na dysku
Sub BindRecordsetToFormt)
Dim rst As New ADODB.Recordset
Dim frm As New Form
Set frm = Forms![frmAgencilnfo]
1 Otwórz Recordset zachowany w pliku na dysku
' przy u¿yciu dostawcy MSPERSIST OLE DB
rst.Open "C:\AgenciInfo.rst",
"Provider=MSPersist", , , adCmdFile
' przypisz w³aœciwoœci RECORDSET formularza
' otwarty Recordset
Set frm.Recordset = rst End Sub
Bezpieczeñstwo danych przy u¿yciu ADOX
Powered by wordpress | Theme: simpletex | © Jak cię złapią, to znaczy, że oszukiwałeś. Jak nie, to znaczy, że posłużyłeś się odpowiednią taktyką.