Bazy danych programu Microsoft Access można uporządkować i zarządzać nimi, okresowo archiwizując stare lub nieaktywne rekordy. Można archiwizować wszystkie tabele w bazie danych, konkretne tabele lub tylko określone rekordy — na przykład rekordy starsze niż określone daty. W tym temacie wyjaśniono, jak archiwizować dane w bazie danych programu Access za pomocą trzech różnych opcji.
W tym artykule
Kiedy należy rozważyć archiwizację?
Jeśli baza danych na komputerze zawiera dane, których nie zamierzasz już używać, ale chcesz zachować te dane pod ręką na wypadek, gdy będzie to potrzebne w pewnym momencie lub w celu spełnienia zasad przechowywania danych, archiwizacja jest dobrym sposobem na zachowanie tych danych. Archiwizowanie jest również często używane do przechowywania danych na podstawie warunku daty, na przykład na końcu miesiąca.
Sposoby archiwizowania danych
W poniższej tabeli wymieniono metody archiwizowania danych, opis metody, wyjaśnienie, kiedy należy używać każdej z tych metod, oraz inne szczególne zagadnienia dotyczące tej metody.
Metoda |
Opis |
Zastosowanie |
Uwagi |
Okresowo tworzy kopię archiwacyjną określonej tabeli i zamienia ją na nową, pustą kopię tabeli. |
Wszystkie rekordy w tabeli spełniają warunki służące do określenia, czy mają być archiwizowane. |
|
|
Okresowo kopiuj archiwacyjną kopię back-end bazy danych, a następnie zamieniaj ją na nową, pustą. Wymaga podzielonej bazy danych (częściowego pliku bazy danych, który zawiera wszystkie tabele, oraz pliku frontoronu bazy danych zawierającego wszystkie pozostałe obiekty bazy danych). |
Wszystkie rekordy w większości tabel bazy danych spełniają warunek, który należy stosować do określania, czy mają być archiwizowane. |
|
|
Okresowo uruchamia zapytanie, które wybiera rekordy do archiwizacji i dodaje dane do tabeli archiwum, a następnie uruchamia zapytanie w celu wybrania tych samych rekordów (z oryginalnej tabeli) i ich usunięcia. |
Niektóre rekordy w tabeli spełniają warunek, który umożliwia określenie, czy archiwizować dane. |
Ostrzeżenie: Jeśli chcesz użyć parametrów w zapytaniach, utwórz formularz do obsługi parametrów. W przeciwnym razie grozi to utratą danych. |
Praca z więzami integralności
Jeśli rekordy, które chcesz zarchiwizować, są powiązane z rekordami w innych tabelach, może być trzeba pamiętać o relacji. Jeśli rekordy, które chcesz zarchiwizować, to rekordy "podrzędne" (należą do strony "wiele" relacja jeden-do-wielu ), prawdopodobnie możesz je bezpiecznie archiwizować bez obaw. Jeśli rekordy, które chcesz zarchiwizować, to rekordy "nadrzędne" (należą do strony "jeden" relacja jeden-do-wielu ), podczas archiwizowania powiązanych z nimi rekordów "podrzędnych" mogą:
-
Uniemożliwia usunięcie rekordów "nadrzędnych". Może to powodować problemy, jeśli rekordy "nadrzędne" zostały już dołączone do tabeli archiwum.
Lub
-
Rekordy, które należą do nieistniecego elementu nadrzędnego, stają się rekordami oddzielonych. Może to spowodować problemy z integralnością i funkcjonalnością danych w bazie danych, w których są używane rekordy oddzielone.
Aby uwzględnić więzy integralności, należy wykonać następujące czynności:
-
Określ, które rekordy "podrzędne" należą do rekordów, które chcesz zarchiwizować. Na przykład w celu archiwizacji rekordów środków trwałych użytych w bibliotece należy najpierw ustalić, czy w przypadku tych środków trwałych istnieją transakcje otwarte, tj. czy środki trwałe zostały wyewidencjonowane, ale nie zostały zwrócone.
-
Wykonaj jedną z następujących czynności:
-
Jeśli rekordy "podrzędne" zawsze można bezpiecznie usunąć, upewnij się, że relacja wymusza więzy integralności, a usunięcie kaskadowe. Dzięki temu wszystkie powiązane rekordy "dziecka" zostaną usunięte.
-
Jeśli nie zawsze można bezpiecznie usunąć rekordy "podrzędne", rozważ zarchiwizowanie wszystkich tabel w bazie danych.
-
Utwórz zapytanie wybierające rekordy "nadrzędne", które nie mają rekordów "podrzędnych". Następnie utwórz zapytania archiwalne za pomocą tego pierwszego zapytania (zobacz sekcję Okresowe przenoszenie rekordów do tabeli archiwum), zamiast używać tabeli nadrzędnej.
-
Okresowe zamienianie tabeli
Jeśli chcesz zarchiwizować wszystkie dane w tabeli, możesz okresowo zamienić tabelę na pustą kopię.
Ważne: Jeśli archiwizowana tabela jest powiązana z innymi tabelami, może być konieczne pomiot więzów integralności.
-
W okienku nawigacji zaznacz tabele, które chcesz zarchiwizować, naciśnij klawisze CTRL+C, a następnie naciśnij klawisze CTRL+V.
-
W oknie dialogowym Wklejanie tabeli jako w obszarze Opcjewklejania wybierz pozycję Tylko struktura,a następnie kliknij przycisk OK.
Program Access nada kopii nazwę Kopii oryginalnej nazwy tabeli. -
W okienku nawigacji kliknij prawym przyciskiem myszy pierwotną tabelę, a następnie w menu skrótów kliknij polecenie Zmień nazwę.
Nadaj tabeli inną nazwę, aby wskazać jej elementy, na przykład "DailyTemperatureExtremes_archive_2019". -
W okienku nawigacji kliknij prawym przyciskiem myszy pustą kopię, a następnie w menu skrótów kliknij polecenie Zmień nazwę. Zmień jego nazwę na pierwotną nazwę tabeli.
Okresowe zamienianie wszystkich tabel
Jeśli korzystasz z podzielonej bazy danych, możesz okresowo zamieniać wszystkie tabele, zastępując ją pustą kopią.
W tym celu przygotuj pustą kopię. Jeśli projekt bazy danych się nie zmieni, możesz użyć tej pustej kopii przy każdym archiwizowaniu. Aby zarchiwizować istniejącą bazę danych zawęzną do jej nazwy, aby wskazać, że jest to archiwum, i zapisać pustą kopię jako nową bazę danych.
Przygotowywanie pustej kopii bazy danych z tyłu
Najpierw zaimportuj definicje tabel dla wszystkich tabel w bazie danych back-end.
-
Na karcie Plik kliknij pozycję Nowy,wybierz pozycję Pusta baza danych,a następnie kliknij pozycję Utwórz.
-
Zamknij tabelę1.
-
Na karcie Dane zewnętrzne w grupie Importowanie i & kliknij pozycję Access.
-
W oknie dialogowym Pobierz dane zewnętrzne — baza danych programu Access wybierz pozycję Importuj tabele, zapytania, formularze, raporty,makra i moduły do bieżącej bazy danych, a następnie kliknij przycisk Przeglądaj.
-
W oknie dialogowym Otwieranie pliku wybierz bazę danych z tyłu. Kliknij przycisk Otwórz, aby zamknąć okno dialogowe Otwieranie pliku, a następnie kliknij przycisk OK.
-
W oknie dialogowym Importowanie obiektów kliknij pozycję Opcje.
-
W obszarze Importowanie tabelwybierz pozycję Tylko definicje.
-
Na karcie Tabele kliknij pozycję Zaznacz wszystko,kliknij przycisk OK,a następnie kliknij przycisk Zamknij.
Dodawanie danych do dowolnych tabel odnośników w pustej kopii
Dla każdej tabeli odnośników wykonaj następujące czynności:
-
Połącz z tabelą odnośników w istniejącej bazie danych back-end.
-
Tworzenie zapytania dołączania, które dodaje do kopii wszystkie rekordy z oryginału.
Zamienianie bazy danych na pustą kopię
Najpierw zmień nazwę istniejącej back-end bazy danych, aby wskazać, że jest to teraz archiwum. Następnie otwórz pustą kopię i zapisz ją przy użyciu oryginalnej nazwy bazy danych.
-
Kliknij kartę Plik, a następnie kliknij pozycję Zapisz bazę danych jako. Może zostać wyświetlony monit o zamknięcie wszystkich otwartych obiektów. jeśli tak, kliknij przycisk OK. Zostanie otwarte okno dialogowe Zapisywanie jako.
-
W polu Zapisz w (u góry okna dialogowego Zapisywanie jako) upewnij się, że zapisujesz plik w tym samym miejscu, w którym jest zapisywana oryginalna baza danych.
-
W polu Nazwa pliku wprowadź nazwę oryginalnej bazy danych.
-
W polu Zapisz jako typ wybierz pozycję Baza danych programu Access (*.accdb).
Okresowe przenoszenie rekordów do tabeli archiwum
Jest zapytanie usuwające procesem, który wymaga utworzenia pustej kopii tabeli zawierającej rekordy, które mają zostać zarchiwizowane, utworzenia zapytania dołączania w celu skopiowania rekordów z pierwotnej tabeli do tabeli archiwum, utworzenia zapytanie usuwające w celu usunięcia zarchiwizowanego rekordów z oryginalnej tabeli, a na koniec utworzenia makra w celu uruchomienia obu zapytań, które można uruchomić w celu zarchiwizowania. Ten pozornie złożony proces może być łatwy, jeśli należy wykonać czynności w kolejności, w jakiej zostały przedstawione poniżej:
Krok 1. Tworzenie tabeli archiwum
Krok 2. Tworzenie kwerendy dołączaącej w celu skopiowania danych do tabeli archiwum
Krok 3. Tworzenie zapytania wybierającego w celu usunięcia danych z oryginalnej tabeli
Krok 4. Tworzenie makra w celu uruchamiania zapytań dołączanych i usuwanych
Krok 1. Tworzenie tabeli archiwum
Aby zachować wszystkie zarchiwizowane rekordy w jednej tabeli, wykonaj ten krok raz. Tabela archiwum tworzyć w tym kroku będzie zawierać wszystkie zarchiwizowane rekordy.
Aby usunąć starą tabelę archiwum podczas tworzenia nowej tabeli, zamiast robić to za pomocą zapytanie tworzące tabele skopiować dane do tabeli archiwum. W tym celu przejdź do kroku 2.
Aby używać nowej tabeli archiwum przy każdym archiwizowanie, ale także zachować stare tabele archiwum, zmień nazwę starej tabeli archiwum przed utworzeniem nowej tabeli. Jeśli archiwizowanie jest oparte na dacie, rozważ nadanie nazw starym tabelom archiwum zgodnie z reprezentowanym przez nie zakresem dat.
-
W okienku nawigacji zaznacz tabelę z rekordami do archiwizacji, naciśnij klawisze CTRL+C, a następnie naciśnij klawisze CTRL+V.
-
W polu Nazwa tabeli usuń wyrazy Kopiuj z i dołącz podkreślenie oraz wyraz "archiwizuj" do nazwy istniejącej tabeli, a następnie kliknij przycisk OK. Jeśli na przykład oryginalna tabela ma nazwę Transakcje, nazwa tabeli archiwum Transactions_archive.
-
W oknie dialogowym Wklejanie tabeli jako w obszarze Opcje wklejaniawybierz pozycję Tylko struktura.
Krok 2. Tworzenie kwerendy dołączaącej w celu skopiowania danych do tabeli archiwum
-
Na karcie Tworzenie w grupie Zapytania kliknij pozycję Projekt zapytania.
-
Dodaj tabelę z rekordami, które chcesz zarchiwizować.
-
W oknie projektu zapytania kliknij dwukrotnie gwiazdkę (*) w właśnie dodanej tabeli. Nazwa tabeli i gwiazdka są wyświetlane w pierwszej kolumnie siatki projektu zapytania.
Uwaga: Gwiazdka oznacza, że zapytanie powinno uwzględnić wszystkie pola z tabeli w wynikach zapytania. Jeśli pola zostaną dodane lub usunięte z tabeli za pomocą gwiazdki, dane wyjściowe zapytania zostaną odpowiednio dostosowane.
-
W oknie projektu zapytania kliknij dwukrotnie pole, za pomocą którego chcesz określić warunek, który rekordy powinny spełnić przed ich archiwizacją. Jeśli na przykład tabela Transakcje zawiera pole o nazwie Data zaewidencjonowania i chcesz zarchiwizować wszystkie rekordy, w których data ma więcej niż rok, kliknij dwukrotnie to pole i pojawi się w następnej pustej kolumnie siatki projektu zapytania.
Powtórz ten krok, jeśli chcesz użyć kryteriów z dodatkowymi polami.
-
Wiersz Kryteria umożliwia określenie kryteriów dla właśnie dodanych pól. Można na przykład określić, że data zaewidencjonowania musi być wcześniejsza niż 1 stycznia 2019 r., używając wyrażenia <#1/1/2019# w wierszu Kryteria.
Jeśli wartości kryteriów zmieniają się przy każdym archiwizowaniu, zapytanie powinno poprosić o wprowadzenie danych. W tym celu należy użyć parametru w wierszu Kryteria, aby zapytanie prosiło o wprowadzenie danych wejściowych. Aby użyć parametru, należy użyć wyrażenia w zwykły sposób, ale zamiast określonej wartości należy użyć krótkiego pytania otoczonego nawiasami kwadratowymi. Możesz na przykład użyć wyrażenia <[Transakcje archiwum ukończone przed:]w ten sposób:
Aby uzyskać więcej informacji na temat używania parametrów, zobacz artykuł Wprowadzenie do zapytań.
Możesz także użyć wiersza lub wiersza w celu określenia alternatywnych warunków. Aby uzyskać więcej informacji o posługiwaniu się kryteriami, zobacz artykuł Przykłady kryteriów zapytań.
Porada: Jeśli używasz pola daty do określenia kryteriów i chcesz zarchiwizować wszystkie rekordy starsze niż bieżąca data, wprowadź wartość <Date() w wierszu Kryteria dla pola daty.
-
Wykonaj jedną z następujących czynności:
Jeśli tabela archiwum została już utworzona, dodaj do tabeli określone rekordy za pomocą zapytania dołączania:
-
Na karcie Projektowanie w grupie Typ zapytania kliknij przycisk Dołącz.
-
W oknie dialogowym Dołączanie w polu Nazwa tabeli zaznacz nazwę tabeli archiwum, a następnie kliknij przycisk OK.
W siatce projektu zapytania zostanie wyświetlony wiersz Dołącz do.
-
Wyczyść wiersz Dołącz do dla wszystkich pól użytych do określenia kryteriów. (Tylko gwiazdka powinna mieć wartość dołączania do).
Jeśli tabela archiwum nie została utworzona, utwórz tabelę archiwacyjną przy użyciu określonych rekordów za pomocą zapytania tworzącego tabelę:
-
Na karcie Projektowanie w grupie Typ zapytania kliknij pozycję Utwórz tabelę.
-
W oknie dialogowym Tworzenie tabeli w polu Nazwa tabeli wpisz nazwę tabeli archiwum, a następnie kliknij przycisk OK.
-
-
Naciśnij klawisze CTRL+S, aby zapisać zapytanie.
Krok 3. Tworzenie zapytania wybierającego w celu usunięcia danych z oryginalnej tabeli
-
Na karcie Tworzenie w grupie Zapytania kliknij pozycję Projekt zapytania.
-
Dodaj tabelę z rekordami, które chcesz zarchiwizować.
-
W oknie projektu zapytania kliknij dwukrotnie gwiazdkę (*) w właśnie dodanej tabeli. Nazwa tabeli i gwiazdka są wyświetlane w pierwszej kolumnie siatki projektu zapytania.
-
W oknie projektu zapytania kliknij dwukrotnie te same pola, za pomocą których określono warunek w zapytaniu dołączaowym.
-
Wiersz Kryteria umożliwia określenie kryteriów dla właśnie dodanych pól. Aby uzyskać więcej informacji o posługiwaniu się kryteriami, zobacz artykuł Przykłady kryteriów zapytań.
Ważne: Jeśli zapytanie dołączace lub zapytanie make-table użyło parametru, upewnij się, że robi to również zapytanie wybierające. Należy również pamiętać, że w obu zapytaniach wprowadzana jest ta sama wartość. Wprowadzenie różnych wartości parametrów może spowodować utratę danych. Aby zapobiec utracie danych, rozważ zbieranie wartości za pomocą formularza, a następnie wykonanie kwerendy z prośbą o wprowadzenie wartości wejściowych w formularzu. Aby uzyskać więcej informacji, zobacz artykuł Wprowadzenie do zapytań.
-
Na karcie Projektowanie w grupie Typ zapytania kliknij przycisk Usuń.
Wiersz Usuń zostanie wyświetlony w siatce projektu zapytania.
-
Naciśnij klawisze CTRL+S, aby zapisać zapytanie.
Krok 4. Tworzenie makra w celu uruchamiania zapytań dołączanych i usuwanych
-
Na karcie Tworzenie w grupie Makra i kod kliknij pozycję Makro.
-
Kliknij strzałkę listy rozwijanej obok pozycji Dodaj nowąakcję, a następnie kliknij pozycję OtwórzKwerendę.
Zostanie wyświetlona akcja OtwórzKwerendę z wyświetlonymi jej argumentami.
-
W polu Nazwa zapytania wybierz zapytanie (dołączanie lub tworzenia tabeli) utworzone w kroku 2.
-
Kliknij strzałkę listy rozwijanej obok pozycji Dodaj nowąakcję, a następnie kliknij pozycję OtwórzKwerendę.
Zostanie wyświetlona akcja OtwórzKwerendę z wyświetlonymi jej argumentami.
-
W polu Nazwa zapytania wybierz zapytanie wybierające utworzone w kroku 3.
-
Naciśnij klawisze CTRL+S, aby zapisać makro.
Aby zarchiwizować rekordy, uruchom makro.