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 zachowaæ 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¹ pochodziæ 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) formularza). 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 2Œ 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
|
Wątki
|