[ Pobierz całość w formacie PDF ]
.Nie przedstawiają one rekordów i nie mają nic wspólnego z kluczem podstawowym.Reprezentują onejedynie tymczasową pozycję rekordu w serii wierszy.Jakakolwiek obróbka danych powinna być dokonywana w oparciu otechniki odnoszące się do projektu bazy danych, a nie jedynie pozycji w zestawie rekordów.Używając kwerendy po każdejoperacji aktualizacji i usuwania danych, będziesz każdorazowo niszczył zakładki i tworzył je na nowo.Jeśli Twój interfejsużywa w takich sytuacjach zakładek, będziesz musiał dokładnie kontrolować aktualizację i usuwanie rekordów.Poniższy kod ilustruje użycie zakładki w formularzu w celu przejścia do poprzedniego rekordu po dokonaniu aktualizacji. 263Rozdział 14.f& Optymalizacja aplikacjiPrivate Sub Findit_AfterUpdate()Dim rsclone As RecordsetDim recordID As VariantDim IDValue As LongSet rsclone = Me.RecordsetCloneIDValue = Me![Findit]recordID = "ID = " & Valuersclone.FindFirst recordIDbm = rsclone.BookmarkMe.Bookmark = bmEnd SubUżycie zakładki w celu przejścia do poprzedniego rekordu jest o 1300% szybsze niż wykonanie instrukcji FindFirst wtej samej sytuacji.Zamykaj i niszczSzybki kod to czysty kod.Pamiętaj o zamykaniu zestawów rekordów po zakończeniu pracy z nimi i o ustawianiu obiektówna Nothing, gdy nie są Ci już więcej potrzebne.Pozostawienie ich ogranicza ilość pamięci dla innych części aplikacji.rs.CloseSet db=NothingUżywaj SQL zamiast DAOPrzechodz przez zestawy rekordów tylko wtedy, gdy nie ma innego rozwiązania.Bazy danych Jet są optymalizowane podkątem wykorzystania SQL do obróbki danych i ich struktury.Używaj kwerend zamiast DAO w każdej możliwej sytuacji.Niewiele jest sytuacji, w których obiekty DAO są szybsze niż dobrze zaprojektowana kwerenda.W przeciwieństwie doobiektów DAO kwerendy posiadają plany wykonywania i mogą korzystać z indeksów.Jeśli musisz odwoływać się do danych za pomocą modelu obiektowego, zamiast DAO użyj ADO.Obiekty ADO to nowystandard obróbki i definicji danych poprzez model obiektowy.Technologię DAO można uznać za schyłkową i nie są doniej wydawane żadne rozszerzenia i poprawki.W książce tej omówiliśmy funkcjonowanie obiektów ADO w kilkumiejscach, zwłaszcza w rozdziale 6. Wprowadzenie do obiektów danych ActiveX i 7.,  Zaawansowane ADO.Użycie indeksowania kolekcjiGdy masz do czynienia z kolekcjami, jeśli to tylko możliwe używaj ich numerów indeksów.Numery te są wewnętrznymiidentyfikatorami kolekcji.Ich użycie jest dużo szybsze niż innych właściwości (np.nazw).Poniższy przykład ilustruje dwasposoby tworzeniaodniesień do aktualnej bazy danych.Użycie Currentdb() powoduje automatyczne odświeżenie kolekcji bazy, co zabieratrochę czasu.Pierwszy sposób (dbEngine(0)(0)) nie odświeża zbioru.Set db=DBEngine(0)(0)jest szybszym rozwiązaniem niżSet db=Currentdb()Set cntl=Forms!frmMyForm(0)i szybszym niżSet cntl =Forms![frmMyForm]![myControl]Użycie numeru indeksu elementu zbioru przydaje się w szczególności w przypadku pętli.Tworzenie szybszych pętliTworząc pętlę w kolekcji, zamiast For.Next używaj For.Each.Podczas tworzenia pętli w formantach formularzaFor Each cntl on frm.Nextbędzie działać szybciej niż zwykła pętla For.Next. 264Część IV f& Tajniki VBAPodczas tworzenia pętli w obiektach Collection będziesz chciał uniknąć zbędnego odświeżania kolekcji.Nawet wprzypadku małych baz danych odświeżanie kolekcji może spowodować znaczny spadek wydajności.W przypadku użycia pętli For.Next możesz zaoszczędzić czas, nie umieszczając zmiennej w linii Next.For i = 1 to 100' zrób co chceszNextPłynące z takiego rozwiązania korzyści są szczególnie widoczne w przypadku pętli zagnieżdżonych.Staraj się równieżnie obliczać granicy w linii For.Górna granica powinna być już znana przed rozpoczęciem pętli.Reccount=rs.recordcount/2For i=1 to reccount.NextJeśli nie określisz wartości górnej granicy wcześniej, pętla będzie ją obliczać za każdym przejściem.Jest to strata czasu.Usuń z kodu IIF()Nie używaj w kodzie funkcji IIF().Zanim poda ona swoje wyniki, musi dokonać oceny wszystkich wyrażeń w niejzawartych.Szybszym rozwiązaniem jest standardowa struktura If.Then.Else.Porządkowanie Select CaseUżywając konstrukcji Select Case, pamiętaj o uporządkowaniu jej w taki sposób, by najczęściej występujące przypadkiznajdowały się u góry [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • swpc.opx.pl
  •