Bazy danych programu Microsoft Access można organizować i zarządzać nimi, okresowo archiwizacja starych lub nieaktywnych rekordów. Możesz zarchiwizować wszystkie tabele w bazie danych, określone tabele lub tylko określone rekordy — na przykład rekordy starsze niż określona data. W tym temacie wyjaśniono, jak archiwizować dane w bazie danych programu Access przy użyciu trzech różnych opcji.
W tym artykule
Kiedy należy rozważyć archiwizowanie?
Jeśli baza danych na komputerze zawiera dane, których już nie planujesz używać, ale chcesz zachować te dane pod ręką na wypadek, gdyby były potrzebne w pewnym momencie lub aby spełnić zasady przechowywania danych, archiwizowanie to dobry sposób na zachowanie takich danych. Archiwizowanie jest również często używane do przechowywania danych na podstawie warunku daty, na przykład na koniec miesiąca.
Sposoby archiwizowanie danych
W poniższej tabeli wymieniono metody archiwizowania danych, opis metody, wyjaśnienie, kiedy należy używać poszczególnych metod, oraz inne konkretne zagadnienia dotyczące tej metody.
Metoda |
Opis |
Zastosowanie |
Uwagi |
Okresowo tworzy kopię archiwum określonej tabeli i zastępuje ją nową, pustą kopią tabeli. |
Wszystkie rekordy w tabeli spełniają warunki, za pomocą których można określić, czy mają zostać zarchiwizowane. PRZYKŁAD: Masz tabelę przechowującą dzienne skrajności temperatury. Co roku archiwizujesz tabelę i zaczynasz od nowa od pustej. |
|
|
Okresowo utwórz kopię archiwum bazy danych zaplecza, a następnie zastąp ją nową, pustą bazą danych. Wymaga podzielonej bazy danych (zawierającej: plik zaplecza bazy danych, który zawiera wszystkie tabele, oraz pliku front end bazy danych zawierającego wszystkie inne obiekty bazy danych). |
Wszystkie rekordy w większości tabel w bazie danych spełniają warunek umożliwiający określenie, czy mają zostać zarchiwizowane. PRZYKŁAD: Baza danych składa się z kilku tabel z różnymi rodzajami danych meteorologicznych. Co roku archiwizujesz wszystkie tabele. |
|
|
Okresowo uruchamia zapytanie, które wybiera rekordy do archiwizacji i dodaje dane do tabeli archiwum, a następnie uruchamia zapytanie w celu zaznaczenia tych samych rekordów (z oryginalnej tabeli) i usunięcia ich. |
Niektóre rekordy w tabeli spełniają warunek używany do określania, czy mają zostać zarchiwizowane. PRZYKŁAD: Aby zarchiwizować transakcje biblioteki (wyewidencjonowywanie), jeśli data zaewidencjonowania ma co najmniej rok. |
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 nad więzami integralności
Jeśli rekordy, które chcesz zarchiwizować, są powiązane z rekordami w innych tabelach, może być konieczne obejście relacji. Jeśli rekordy, które mają zostać zarchiwizowane, to rekordy "podrzędne" (należą do strony "wiele" relacja jeden-do-wielu ), prawdopodobnie możesz je bezpiecznie zarchiwizować bez obaw. Jeśli rekordy, które mają zostać zarchiwizowane, to rekordy "nadrzędne" (należą do strony "jeden" relacja jeden-do-wielu ), archiwizowanie powiązanych z nimi rekordów "podrzędnych" może:
-
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
-
Zostań rekordami odłączonymi — rekordami należącymi do nieistniejącego elementu nadrzędnego. Może to powodować problemy z integralnością i funkcjami danych w bazie danych, w których są używane rekordy odłączone.
Aby uwzględnić więzy integralności, wykonaj następujące czynności:
-
Określ, które rekordy "podrzędne" należą do rekordów, które mają zostać zarchiwizowane. Aby na przykład zarchiwizować rekordy aktywów użyczonych w bibliotece, najpierw określ, czy istnieją transakcje otwarte dla tych składników majątku, tj. czy aktywa zostały wyewidencjonowane, ale nie zwrócone.
-
Wykonaj jedną z następujących czynności:
-
Jeśli rekordy "podrzędne" zawsze mogą zostać bezpiecznie usunięte, upewnij się, że relacja wymusza więzy integralności z usuwaniem kaskadowym. Dzięki temu wszystkie powiązane rekordy "podrzędne" zostaną usunięte.
-
Jeśli nie zawsze można bezpiecznie usunąć rekordy "podrzędne", rozważ archiwizowanie wszystkich tabel w bazie danych.
-
Twórca zapytanie, które wybiera rekordy "nadrzędne", które nie mają rekordów "podrzędnych". Następnie użyj tego pierwszego zapytania, aby utworzyć zapytania archiwalne (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 zamieniać tabelę na pustą.
Ważne: Jeśli zarchiwizowane tabele są powiązane z innymi tabelami, może być konieczne obejście 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 Opcje wklejania wybierz pozycję Tylko struktura, a następnie kliknij przycisk OK.
Program Access nadaje kopii nazwę Kopia oryginalnej nazwy tabeli. -
W okienku nawigacji kliknij prawym przyciskiem myszy oryginalną tabelę, a następnie w menu skrótów kliknij polecenie Zmień nazwę .
Nadaj tabeli inną nazwę, aby wskazać jej zawartość, 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 oryginalną nazwę tabeli.
Okresowe zamienianie wszystkich tabel
Jeśli korzystasz z podzielonej bazy danych, możesz okresowo zamieniać wszystkie tabele, zamieniając tę zewnętrzną bazę danych na pustą.
Aby to zrobić, najpierw przygotuj pustą kopię. O ile projekt bazy danych się nie zmieni, możesz ponownie użyć tej pustej kopii za każdym razem, gdy archiwizujesz. Aby zarchiwizować, wystarczy zmienić nazwę istniejącej bazy danych zaplecza, aby wskazać, że jest ona archiwum, i zapisać ją jako nową zewnętrzną bazę danych.
Przygotowywanie pustej kopii zewnętrznej bazy danych
Najpierw zaimportuj definicje tabel dla wszystkich tabel w zapleczu bazy danych.
-
Na karcie Plik kliknij pozycję Nowy, wybierz pozycję Pusta baza danych, a następnie kliknij pozycję Twórca.
-
Zamknij tabelę 1.
-
Na karcie Dane zewnętrzne w grupie Importowanie & Link kliknij pozycję Access.
-
W oknie dialogowym Pobieranie danych zewnętrznych — 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 zaplecze bazy danych. 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 Importuj tabele wybierz 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śnika wykonaj następujące czynności:
-
Link do tabeli odnośnika w istniejącej bazie danych zaplecza.
-
Twórca zapytanie dołączające, które dodaje do kopii wszystkie rekordy z oryginału.
Zastępowanie bazy danych zaplecza pustą kopią
Najpierw zmień nazwę istniejącej bazy danych zaplecza, aby wskazać, że jest ona teraz archiwum. Następnie otwórz pustą kopię i zapisz ją, używając oryginalnej nazwy bazy danych zaplecza.
-
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 oknie dialogowym Zapisywanie w (u góry okna dialogowego Zapisywanie jako) upewnij się, że plik jest zapisywany w tym samym miejscu co oryginalna baza danych zaplecza.
-
W polu Nazwa pliku wprowadź nazwę oryginalnej bazy danych zaplecza.
-
W polu Zapisz jako typ wybierz pozycję Baza danych programu Access (*.accdb).
Okresowe przenoszenie rekordów do tabeli archiwum
Jest to proces składający się z czterech kroków, który wymaga utworzenia pustej kopii tabeli zawierającej rekordy, które chcesz zarchiwizować, utworzenia zapytania dołączającego w celu skopiowania rekordów z oryginalnej tabeli do tabeli archiwum, utworzenia zapytanie usuwające usunięcia zarchiwizowane rekordy z oryginalnej tabeli, a na koniec utworzenia makra w celu uruchomienia obu zapytań, które można uruchomić, gdy zechcesz zarchiwizować. Ten pozornie złożony proces może być łatwy, jeśli usłyszysz kroki w kolejności, w jakiej są przedstawione poniżej:
Krok 1. Twórca tabeli archiwum
Krok 2. Twórca zapytanie dołączające w celu skopiowania danych do tabeli archiwum
Krok 3. Twórca zapytania usuwające w celu usunięcia danych z oryginalnej tabeli
Krok 4. Twórca makra w celu uruchamiania zapytań dołączanych i usuwanych
Krok 1. Twórca tabeli archiwum
Aby zachować wszystkie zarchiwizowane rekordy w jednej tabeli, wykonaj ten krok raz. Tabela archiwum utworzona w tym kroku będzie zawierać wszystkie zarchiwizowane rekordy.
Aby usunąć starą tabelę archiwum podczas tworzenia nowej tabeli, zamiast wykonywać tę czynność, możesz skopiować dane do tabeli archiwum za pomocą zapytanie tworzące tabele. Aby to zrobić, przejdź do kroku 2.
Aby używać nowej tabeli archiwum za każdym razem, gdy archiwizujesz, ale także zachować stare tabele archiwum, zmień nazwę starej tabeli archiwum przed utworzeniem nowej tabeli. Jeśli archiwizujesz dane na podstawie daty, rozważasz nadanie nazw starym tabelom archiwum zgodnie z zakresem dat, który reprezentują.
-
W okienku nawigacji zaznacz tabelę zawierającą rekordy do zarchiwizowania, 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 istniejącej nazwy tabeli, a następnie kliknij przycisk OK. Jeśli na przykład oryginalna tabela nosi nazwę Transakcje , tabela archiwum ma nazwę Transactions_archive.
-
W oknie dialogowym Wklejanie tabeli jako w obszarze Opcje wklejania wybierz pozycję Tylko struktura.
Krok 2. Twórca zapytanie dołączające w celu skopiowania danych do tabeli archiwum
-
Na karcie Tworzenie w grupie Kwerendy kliknij pozycję Projekt kwerendy.
-
Dodaj tabelę zawierającą rekordy, 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 zawierać wszystkie pola z tabeli w wynikach zapytania. W przypadku użycia gwiazdki, jeśli pola zostaną dodane lub usunięte z tabeli, dane wyjściowe zapytania zostaną odpowiednio dopasowane.
-
W oknie projektu zapytania kliknij dwukrotnie pole, którego chcesz użyć, aby określić warunek, który rekordy powinny spełnić przed ich zarchiwizowaniem. 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 pole i pojawi się ono w następnej pustej kolumnie siatki projektu zapytania.
Powtórz ten krok, jeśli chcesz użyć kryteriów z dodatkowymi polami.
-
Użyj wiersza Kryteria , aby określić kryteria 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 <#2019-01-01# w wierszu Kryteria .
Jeśli wartości kryteriów zmieniają się za każdym razem, gdy są archiwizowane, zapytanie powinno poprosić o podanie danych wejściowych. W tym celu należy użyć parametru w wierszu Kryteria , aby zapytanie wyświetliło monit o wprowadzenie danych. Aby użyć parametru, użyj wyrażenia w normalny sposób, ale zamiast określonej wartości użyj krótkiego pytania otoczonego nawiasami kwadratowymi. Możesz na przykład użyć wyrażenia <[Archiwizuj transakcje ukończone przed:], na przykład:
Aby uzyskać więcej informacji na temat używania parametrów, zobacz artykuł Wprowadzenie do zapytań.
Możesz także użyć wiersza lub do 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 do określania kryteriów używasz pola daty i chcesz zarchiwizować wszystkie rekordy starsze niż bieżąca data, wprowadź <w wierszu Kryteria pola daty.
-
Wykonaj jedną z następujących czynności:
Jeśli tabela archiwum została już utworzona, użyj zapytania dołączające, aby dodać do niej określone rekordy:
-
Na karcie Projektowanie w grupie Typ zapytania kliknij przycisk Dołącz.
-
W oknie dialogowym Dołączanie w polu Nazwa tabeli wybierz 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łącz do).
Jeśli tabela archiwum nie została utworzona, użyj zapytania tworzącego tabelę, aby utworzyć tabelę archiwum przy użyciu określonych rekordów:
-
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. Twórca zapytania usuwające w celu usunięcia danych z oryginalnej tabeli
-
Na karcie Tworzenie w grupie Kwerendy kliknij pozycję Projekt kwerendy.
-
Dodaj tabelę zawierającą rekordy, 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, które zostały użyte do określenia warunku w zapytaniu dołączanym.
-
Użyj wiersza Kryteria , aby określić kryteria 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łączające lub tworzenie tabeli używało parametru, upewnij się, że zapytanie usuwające również to robi. Należy również pamiętać, że wprowadzono tę samą wartość dla obu zapytań. Jeśli wprowadzisz różne wartości parametrów, możesz utracić dane. Aby zapobiec utracie danych, rozważ użycie formularza do zbierania wartości i poproszenie zapytań o wartości wejściowe. Aby uzyskać więcej informacji, zobacz artykuł Wprowadzenie do zapytań.
-
Na karcie Projektowanie w grupie Typ zapytania kliknij przycisk Usuń.
W siatce projektu zapytania zostanie wyświetlony wiersz Usuń .
-
Naciśnij klawisze CTRL+S, aby zapisać zapytanie.
Krok 4. Twórca 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ę OpenQuery.
Zostanie wyświetlona akcja OpenQuery z wyświetlonymi argumentami.
-
W polu Nazwa zapytania wybierz zapytanie (dołączanie lub tworzenie tabeli) utworzone w kroku 2.
-
Kliknij strzałkę listy rozwijanej obok pozycji Dodaj nową akcję, a następnie kliknij pozycję OpenQuery.
Zostanie wyświetlona akcja OpenQuery z wyświetlonymi argumentami.
-
W polu Nazwa zapytania wybierz zapytanie usuwające utworzone w kroku 3.
-
Naciśnij klawisze CTRL+S, aby zapisać makro.
Aby zarchiwizować rekordy, uruchom makro.