Archiwizowanie danych programu Access

Uwaga:  Staramy się udostępniać najnowszą zawartość Pomocy w Twoim języku tak szybko, jak to możliwe. Ta strona została przetłumaczona automatycznie i może zawierać błędy gramatyczne lub nieścisłości. Chcemy, aby ta zawartość była dla Ciebie przydatna. Prosimy o powiadomienie nas, czy te informacje były pomocne, u dołu tej strony. Oto angielskojęzyczny artykuł do wglądu.

Dane można utrzymywać w porządku, przeprowadzając okresowo archiwizację starych i nieaktywnych rekordów. Załóżmy na przykład, że program Access jest używany do zarządzania wypożyczalnią. Baza danych może zawierać tabelę do rejestrowania wypożyczeń, z polem daty wypożyczenia pozycji i polem daty zwrotu. Obowiązujące w firmie zasady przechowywania rekordów mogą wymagać archiwizowania rekordów wypożyczeń po roku od zwrotu pozycji i niszczenia rekordów po dwóch latach.

Archiwizować można wszystkie tabele w bazie danych, określone tabele lub tylko określone rekordy — na przykład rekordy, które są starsze od wskazanej daty. W tym temacie omówiono sposoby archiwizacji danych.

W tym artykule

Omówienie

Okresowo przenosić rekordy do tabeli archiwum

Okresowo zamienić tabelę

Okresowo zamienić wszystkie tabele

Omówienie

Archiwizowanie danych należy rozważać w przypadku posiadania danych, z których nie zamierza się już korzystać, ale które warto zachować na wypadek, gdyby okazały się potrzebne. Archiwizacje mogą być planowane zgodnie z obowiązującymi w firmie zasadami, na przykład zasadami przechowywania danych.

Archiwizacja jest często przeprowadzana po spełnieniu określonego warunku związanego z datą, na przykład na końcu miesiąca.

Sposoby archiwizowania danych

W poniższej tabeli przedstawiono sposoby archiwizowania danych, sytuacje, w których należy z nich korzystać, i inne zagadnienia.

Metoda

Opis

Zastosowanie

Uwagi

Okresowo przenosić rekordy do tabeli archiwum

Co pewien czas uruchamiana jest kwerenda wybierająca dane, które mają być archiwizowane, i dołączająca je do tabeli archiwalnej. Następnie uruchamiana jest kwerenda, która wybiera te same dane (z tabeli oryginalnej) i usuwa je.

Niektóre rekordy tabeli spełniają warunek decydujący o konieczności archiwizowania danych.

PRZYKŁAD: Archiwizowanie wypożyczeń w bibliotece, w przypadku których data zwrotu minęła co najmniej rok temu.

  • Może być konieczne obejście więzy integralności, szczególnie gdy rekordy, które mają zostać zarchiwizowane, znajdują się po stronie „jeden” relacja jeden-do-wielu.

  • Jeśli potrzebujesz używanie parametrów w kwerendach, należy utworzyć formularz powinien obsługiwać parametry. W przeciwnym razie możesz ryzyko utraty danych.

Okresowo zamienić tabelę

Co pewien czas tworzona jest archiwalna kopia określonej tabeli, a następnie sama tabela jest zamieniana na nową, pustą tabelę.

Wszystkie rekordy w tabeli spełniają warunek decydujący o konieczności archiwizowania danych.

PRZYKŁAD: W tabeli są rejestrowane codzienne temperatury minimalne i maksymalne. Co roku tabela jest archiwizowana, a rejestrowanie pomiarów zaczyna się od nowa w pustej tabeli.

  • Może być konieczne obejście więzów integralności.

Okresowo zamienić wszystkie tabele

Używana jest podzielona baza danych (w skład bazy danych wchodzą: wewnętrzna baza danych, która zawiera wszystkie tabele, oraz zewnętrzna baza danych, która zawiera wszystkie pozostałe obiekty bazy danych). Co pewien czas tworzona jest archiwalna kopia wewnętrznej bazy danych i baza ta jest zastępowana nową, pustą bazą danych.

Wszystkie rekordy w większości tabel w bazie danych spełniają warunek decydujący o konieczności archiwizowania danych.

PRZYKŁAD: W bazie danych są przechowywane różne rodzaje danych meteorologicznych. Każdego roku przeprowadzana jest archiwizacja wszystkich tabel.

  • Jeśli w bazie danych znajdują się tabele odnośników (tabele używane do przechowywania wartości takich jak kody pocztowe czy nazwy wydziałów), może być konieczne zaimportowanie ich danych do nowej wewnętrznej bazy danych.

  • W przypadku tej metody nie można użyć makra. Bazę danych należy archiwizować ręcznie.

Obchodzenie więzów integralności referencyjnej

Jeśli rekordy, które mają zostać zarchiwizowane, są powiązane z rekordami w innych tabelach, może być konieczne szczególne potraktowanie tej relacji. Jeśli rekordy, które mają zostać zarchiwizowane, są rekordami „podrzędnymi” (znajdują się po stronie „wielu” relacja jeden-do-wielu), zazwyczaj można bezpiecznie je zarchiwizować. Jeśli rekordy, które mają zostać zarchiwizowane, są rekordami „nadrzędnymi” (znajdują się po stronie po stronie „jeden” relacja jeden-do-wielu), podczas ich archiwizowania powiązane z nimi rekordy „podrzędne” mogą:

  • Uniemożliwić usunięcie rekordów „nadrzędnych”. Może to powodować problemy, jeśli rekordy „nadrzędne” zostały już dołączone do tabeli archiwalnej.

    — lub —

  • Stać się rekordami odłączonymi, czyli takimi, które należą do nieistniejących rekordów „nadrzędnych”. Może to spowodować problemy z integralnością danych i różnymi funkcjami w bazie danych korzystającymi z tych rekordów.

Aby wziąć pod uwagę więzy integralności, wykonaj następujące czynności:

  1. Określ, które rekordy „podrzędne” należą do rekordów, które chcesz zarchiwizować. Aby na przykład zarchiwizować rekordy zasobów wypożyczanych z biblioteki, należy najpierw określić, czy istnieją jakieś otwarte transakcje związane z tymi zasobami, czyli czy zasoby te zostały wypożyczone i jeszcze nie zostały zwrócone.

  2. Wykonaj jedną z następujących czynności:

    • "Dziecko" rekordy zawsze mogą być bezpiecznie usunięte, upewnij się, że relacji powoduje wymuszenie stosowania więzów integralności z usuwanie kaskadowe. Dzięki temu zostaną usunięte wszystkie rekordy pokrewne "podrzędny".

    • Jeśli rekordy "podrzędne" zawsze nie można bezpiecznie usunąć, warto rozważyć Archiwizowanie wszystkich tabel w bazie danych.

    • Tworzenie kwerendy wybierające "parent" rekordy, które nie mają "podrzędny". Następnie użyj tę kwerendę, aby utworzyć zapytań archiwum (zobacz sekcja Okresowo przenosić rekordy do tabeli archiwum), a nie przy użyciu tabeli "parent".

      Porada: Za pomocą Kreatora kwerend w celu znalezienia niedopasowanych rekordów. Aby uzyskać więcej informacji zobacz artykuł Porównywanie dwóch tabel i wyszukiwanie niedopasowanych rekordów.

Początek strony

Okresowe przenoszenie rekordów do tabeli archiwalnej

Najpierw należy utworzyć pustą kopię tabeli z rekordami, które mają zostać zarchiwizowane. Ta pusta tabela będzie tabelą archiwalną. Następnie należy utworzyć zapytanie dołączające, która skopiuje rekordy z tabeli oryginalnej do tabeli archiwalnej. Kolejna czynność to utworzenie zapytanie usuwające, która usunie zarchiwizowane rekordy z tabeli oryginalnej. Na końcu należy utworzyć makro, które uruchomi obie te kwerendy. Archiwizacja rekordów będzie uruchamiana za pomocą tego makra.

Porada: Makro można powiązać z przyciskiem w formularzu, aby było uruchamiane kliknięciem tego przycisku.

Krok 1: Tworzenie tabeli archiwum

Krok 2: Tworzenie kwerendy, który kopiuje dane do tabeli archiwum

Krok 3: Tworzenie kwerendy usuwającej usuwające te same dane z pierwotnej tabeli

Krok 4: Tworzenie makra uruchamianego oba zapytania

Krok 1. Tworzenie tabeli archiwalnej

Jeśli wszystkie zarchiwizowane rekordy mają być przechowywane w jednej tabeli, należy ten krok wykonać tylko raz. Utworzona w tym kroku tabela archiwalna będzie zawierać wszystkie zarchiwizowane rekordy.

Jeśli chcesz usunąć stare tabeli archiwum, podczas tworzenia nowego, nie musisz wykonywać tej czynności. zapytanie tworzące tabele zamiast kwerendy dołączającej można użyć, aby skopiować dane do tabeli archiwum. Aby to zrobić, przejdź do kroku 2.

Aby używać nowej tabeli archiwalnej przy każdej archiwizacji i zachować stare tabele archiwalne, przed utworzeniem nowej tabeli archiwalnej należy zmienić nazwę starej tabeli. W przypadku przeprowadzania archiwizacji na podstawie daty warto rozważyć nadawanie nazw tabelom archiwalnym zgodnie z przedziałami dat, które one reprezentują.

Uwaga: Jeśli za każdym razem jest tworzona nowa tabela archiwalna, a stara tabela archiwalna jest zachowywana, należy zmienić nazwę starej tabeli przed uruchomieniem kwerend.

  1. W okienku nawigacji zaznacz tabelę zawierającą rekordy do zarchiwizowania, naciśnij klawisze CTRL+C, a następnie naciśnij klawisze CTRL+V.

  2. W oknie dialogowym Wklejanie tabeli jako w obszarze Opcje wklejania zaznacz opcję Tylko struktura.

  3. W polu Nazwa tabeli opisano usuwanie wyrazów, Kopiowanie i dołączyć podkreślenia i wyraz "archiwum" na nazwę istniejącej tabeli, a następnie kliknij przycisk OK. Na przykład jeśli Pierwotna tabela ma nazwę Transakcje tabeli archiwum nosi nazwę Transactions_archive.

    Okno Wklejanie tabeli jako

Krok 2. Tworzenie kwerendy, która kopiuje dane do tabeli archiwalnej

  1. Na karcie Tworzenie w grupie Inne kliknij przycisk Projekt zapytania.

  2. Za pomocą okna dialogowego Pokazywanie tabeli dodaj tabelę z rekordami, które mają zostać zarchiwizowane. Zamknij okno dialogowe Pokazywanie tabeli.

  3. W oknie projektu kwerendy kliknij dwukrotnie gwiazdkę (*) w dodanej właśnie tabeli. Nazwa tabeli i gwiazdka pojawiają się w pierwszej kolumnie siatki projektu kwerendy.

    Uwaga: Gwiazdka wskazuje, że w wynikach kwerendy powinny się znaleźć wszystkie pola z tabeli. Użycie gwiazdki sprawia, że dane wyjściowe kwerendy dopasują się odpowiednio, jeśli jakieś pola zostaną dodane lub usunięte z tabeli.

  4. W oknie projektu kwerendy kliknij dwukrotnie pole, którego chcesz użyć do określenia warunku, jaki muszą spełniać rekordy uwzględniane podczas archiwizacji. Jeśli na przykład tabela Transakcje ma pole o nazwie Data zwrotu i chcesz archiwizować wszystkie rekordy, w których ta data jest starsza niż rok, kliknij dwukrotnie pole Data zwrotu. Pole pojawi się obok pustej kolumny w siatce projektu kwerendy.

    Siatka projektu kwerendy

    Powtórz ten krok, jeśli chcesz użyć kryteriów z dodatkowymi polami.

  5. Umożliwia określenie kryteriów dla pól, które zostały dodane w wierszu kryteria. Na przykład może określić, że zaznaczone w data musi być wcześniejszych niż 1 stycznia 2008 przy użyciu wyrażenia < #1/1/2008 # w wierszu kryteria.

    W przypadku zmiany wartości kryteriów za każdym razem podczas archiwizacji należy kwerendy proszącej o podanie informacji. Aby to zrobić, należy użyć parametru w wierszu kryteria tak, aby kwerenda zwróci się o wprowadzenie informacji. Aby użyć parametru, należy użyć wyrażenia podczas zwykle będzie, ale zamiast określoną wartość, użyj krótki pytanie, w nawiasach kwadratowych. Na przykład, można użyć wyrażenia < [archiwizowanie transakcje zakończone przed:], tak jak:

    Wyrażenie parametryczne

    Aby uzyskać więcej informacji na temat używania parametrów zobacz artykuł Tworzenie kwerendy proszącej o podanie informacji.

    Można również określić alternatywnych warunków za pomocą wiersza lub. Aby uzyskać więcej informacji na temat korzystania z kryteriów zobacz artykuł Przykłady kryteriów kwerend.

    Porada: Jeśli korzystasz z pola daty do określania kryteriów, a chcesz zarchiwizować wszystkie rekordy, które są starsze niż data bieżąca, należy wprowadzić < Date() w wierszu kryteria dla pola Data.

  6. Wykonaj jedną z następujących czynności:

    • Jeśli tabela archiwalna jest już utworzona, należy użyć kwerendy dołączającej, która doda określone rekordy do tabeli.

      1. Na karcie Projektowanie w grupie Typ kwerendy kliknij przycisk Dołącz.

      2. W oknie dialogowym Dołączanie w polu Nazwa tabeli wybierz nazwę tabeli archiwalnej, a następnie kliknij przycisk OK.

        Okno Dołączanie

        W siatce projektu kwerendy pojawi się wiersz Dołączanie do.

      3. Wyczyść wiersz Dołączanie do dla wszelkich pól używanych do określenia kryteriów. Wiersz Dołączanie do powinien zawierać wartość tylko dla pozycji z gwiazdką.

        Wiersz Dołączanie do w siatce projektu kwerendy

    • Jeśli tabela archiwalna nie została utworzona, należy utworzyć tabelę archiwalną z określonych rekordów za pomocą kwerendy tworzącej tabele.

      1. Na karcie Projektowanie w grupie Typ kwerendy kliknij przycisk Utwórz tabelę.

      2. W oknie dialogowym Tworzenie tabeli w polu Nazwa tabeli wpisz nazwę tabeli archiwalnej, a następnie kliknij przycisk OK.

  7. Naciśnij klawisze CTRL+S, aby zapisać kwerendę.

Krok 3. Tworzenie kwerendy usuwającej, która usuwa te same dane z tabeli oryginalnej

  1. Na karcie Tworzenie w grupie Inne kliknij przycisk Projekt zapytania.

  2. Za pomocą okna dialogowego Pokazywanie tabeli dodaj tabelę z rekordami, które mają zostać zarchiwizowane. Zamknij okno dialogowe Pokazywanie tabeli.

  3. W oknie projektu kwerendy kliknij dwukrotnie gwiazdkę (*) w dodanej właśnie tabeli. Nazwa tabeli i gwiazdka pojawiają się w pierwszej kolumnie siatki projektu kwerendy.

  4. W oknie projektu kwerendy kliknij dwukrotnie te same pola, które zostały użyte do określenia warunku w kwerendzie dołączającej.

  5. Umożliwia określenie kryteriów dla pól, które zostały dodane w wierszu kryteria. Aby uzyskać więcej informacji na temat korzystania z kryteriów zobacz artykuł Przykłady kryteriów kwerend.

    Ważne: W przypadku kwerendy dołączającej lub tworzącej tabelę użycia parametru, dlatego należy kwerendę usuwającą. Ponadto należy sprawdzić, wprowadzić tę samą wartość dla obu kwerend. W przypadku wprowadzenia wartości parametru różnych, mogą utracić dane. Aby zapobiec utracie danych, rozważ zbieranie wartości za pomocą formularza i tworzenia kwerend, poproś formularza dla wartości wejściowych. Aby uzyskać więcej informacji zobacz artykuł Tworzenie kwerendy proszącej o podanie informacji.

  6. Na karcie Projektowanie w grupie Typ kwerendy kliknij przycisk Usuń.

    W siatce projektu kwerendy zostanie wyświetlony wiersz Usuń.

    Wiersz Usuń w siatce projektu kwerendy

  7. Naciśnij klawisze CTRL+S, aby zapisać kwerendę.

Krok 4. Tworzenie makra, które uruchamia obie kwerendy

  1. Na karcie Tworzenie w grupie Inne kliknij przycisk Makro. Jeśli to polecenie jest niedostępne, kliknij strzałkę poniżej przycisku Moduł lub Moduł klasy, a następnie kliknij polecenie Makro.

  2. W pierwszym wierszu w siatce projektu makra, w kolumnie Akcja wybierz pozycję OtwórzKwerendę.

    Akcja makra Otwórz kwerendę

  3. U dołu siatki, w obszarze Argumenty akcji w polu Nazwa kwerendy wybierz z listy rozwijanej kwerendę dołączającą lub kwerendę tworzącą tabelę utworzoną w kroku 2.

    Argument akcji makra Otwórz kwerendę

  4. W drugim wierszu w siatce projektu makra, w kolumnie Akcja wybierz pozycję OtwórzKwerendę.

  5. U dołu siatki, w obszarze Argumenty akcji w polu Nazwa kwerendy wybierz z listy rozwijanej kwerendę usuwającą.

    Makro powinno wyglądać mniej więcej tak:

    Gotowe do zapisania makro

  6. Naciśnij klawisze CTRL+S, aby zapisać makro.

    Gdy nadejdzie odpowiedni moment, aby zarchiwizować rekordy, należy uruchomić to makro.

Początek strony

Okresowe zamienianie tabeli

Aby zawsze archiwizować wszystkie dane w tabeli, nie trzeba używać kwerend ani makr. Zamiast tego można okresowo zastępować tabelę jej pustą kopią.

Ważne: Tabelę, do której archiwizacji jest związany z innych tabel, może być konieczne obejść więzy integralności.

  1. W okienku nawigacji zaznacz tabelę zawierającą rekordy do zarchiwizowania, naciśnij klawisze CTRL+C, a następnie naciśnij klawisze CTRL+V.

  2. W oknie dialogowym Wklejanie tabeli jako w obszarze Opcje wklejania zaznacz opcję Tylko struktura, a następnie kliknij przycisk OK.

    Program Access nadaje nazwy kopii Kopiowanie oryginalnej nazwy tabeli.

  3. W okienku nawigacji kliknij prawym przyciskiem myszy tabelę oryginalną, a następnie w menu skrótów kliknij polecenie Zmień nazwę.

    Nadaj tabeli nazwę, która będzie informować o jej zawartości, taką jak „CodzienneTemperaturyMinimalneIMaksymalne_archiwum_2007”.

  4. W okienku nawigacji kliknij prawym przyciskiem myszy pustą kopię, a następnie w menu skrótów kliknij polecenie Zmień nazwę.

    Nadaj pustej kopii nazwę tabeli oryginalnej.

Początek strony

Okresowe zamienianie wszystkich tabel

Jeśli jest używana podzielona baza danych, można okresowo zamieniać wszystkie tabele, zastępując wewnętrzną bazę danych pustą kopią.

Najpierw należy przygotować pustą kopię. O ile projekt bazy danych się nie zmieni, można podczas każdej archiwizacji ponownie używać bieżącej kopii bazy danych. Następnie, gdy nadejdzie czas archiwizacji, należy zmienić nazwę istniejącej wewnętrznej bazy danych na nazwę informującą, że jest to kopia archiwalna, i zapisać pustą kopię jako nową wewnętrzną bazę danych.

Przygotowywanie pustej kopii wewnętrznej bazy danych

Zaimportuj definicje wszystkich tabel w wewnętrznej bazie danych.

  1. Utwórz nową, pustą bazę danych. Usuń obiekt Tabela1.

  2. Na karcie Dane zewnętrzne w grupie Importowanie kliknij pozycję Access.

  3. W oknie dialogowym Pobieranie danych zewnętrznych zaznacz opcję Importuj tabele, kwerendy, formularze, raporty, makra i moduły do bieżącej bazy danych, a następnie kliknij przycisk Przeglądaj.

  4. W oknie dialogowym Otwieranie pliku zaznacz wewnętrzną bazę danych. Kliknij przycisk Otwórz, aby zamknąć okno dialogowe Otwieranie pliku, a następnie kliknij przycisk OK.

  5. W oknie dialogowym Importowanie obiektów kliknij przycisk Opcje.

  6. W obszarze Importuj tabele zaznacz opcję Tylko definicje.

  7. Na karcie Tabele kliknij przycisk Zaznacz wszystko, kliknij przycisk OK, a następnie kliknij przycisk Zamknij.

Następnie dodaj dane do wszelkich tabel odnośników w pustej kopii. Dla każdej tabeli odnośnika wykonaj następujące czynności:

  1. Utwórz połączenie z tabelą odnośnika w istniejącej wewnętrznej bazie danych.

  2. Utwórz kwerendę dołączającą, która będzie dodawać wszystkie rekordy z oryginału do kopii.

Zamienianie wewnętrznej bazy danych na pustą kopię

Najpierw zmień nazwę istniejącej wewnętrznej bazy danych na taką, która będzie informować, że ta baza danych stanowi archiwum.

Następnie otwórz pustą kopię i zapisz ją, używając oryginalnej nazwy wewnętrznej bazy danych.

  1. Kliknij Przycisk pakietu Microsoft Office Obraz przycisku pakietu Office , a następnie kliknij polecenie Zapisz jako. Zostanie otwarte menu Zapisz jako.

  2. W obszarze Zapisz bazę danych w innym formacie kliknij pozycję Baza danych programu Access 2007.

Początek strony

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×