Vă puteți păstra bazele de date Microsoft Access organizate și ușor de gestionat, arhând periodic înregistrări vechi sau inactive. Puteți arhiva toate tabelele dintr-o bază de date, anumite tabele sau doar anumite înregistrări, de exemplu, înregistrări mai vechi decât o anumită dată. Acest subiect vă arată cum să utilizați trei opțiuni diferite pentru a arhiva datele din baza de date Access.
În acest articol
Când ar trebui să iei în considerare arhivarea?
Atunci când o bază de date de pe computer conține date pe care nu intenționați să le mai utilizați, dar doriți să păstrați acele date la îndemână în cazul în care aveți nevoie de ele la un moment dat sau pentru a respecta o politică de retenție a datelor, arhivarea este o modalitate bună de a păstra astfel de date. Arhivarea este utilizată adesea pentru a păstra datele pe baza unei condiții de dată, cum ar fi la sfârșitul unei luni.
Modalități de arhivare a datelor
Următorul tabel listează metodele de arhivare a datelor, o descriere a metodei, explicarea momentului când trebuie să utilizați fiecare metodă și alte considerații specifice pentru metodă.
Metoda |
Descriere |
Se utilizează atunci când... |
Alte considerente |
Creează periodic o copie de arhivă a unui anumit tabel și înlocuiește tabelul respectiv cu o copie de tabel nouă, necompletată. |
Toate înregistrările dintr-un tabel îndeplinesc condițiile pe care le utilizați pentru a determina dacă să se arhiveze. EXEMPLU: Aveți un tabel care stochează temperaturi extreme zilnice. În fiecare an, arhivați tabelul și începeți de la zero cu unul gol. |
|
|
Creați periodic o copie de arhivă a bazei de date back-end, apoi înlocuiți baza de date back-end cu una nouă, necompletată. Necesită o bază de date scindată (o bază de date care cuprinde: un fișier bază de date back-end care conține toate tabelele și un fișier bază de date front-end care conține toate celelalte obiecte ale bazei de date). |
Toate înregistrările din majoritatea tabelelor dintr-o bază de date îndeplinesc condiția pe care o utilizați pentru a determina dacă să arhivați. EXEMPLU: Baza de date constă din mai multe tabele cu tipuri diferite de date meteorologice. În fiecare an, arhivați toate tabelele. |
|
|
Rulează periodic o interogare care selectează înregistrările pentru arhivare, adaugă datele la un tabel arhivă, apoi rulați o interogare pentru a selecta aceleași înregistrări (din tabelul original) și a le șterge. |
Unele înregistrări dintr-un tabel îndeplinesc condiția pe care o utilizați pentru a determina dacă să se arhiveze. EXEMPLU: Doriți să arhivați tranzacțiile bibliotecii (extrageri) dacă data arhivată este de cel puțin un an. |
Avertisment: Dacă trebuie să utilizați parametri în interogări, trebuie să creați un formular pentru a gestiona parametrii. În caz contrar, riscați pierderi de date. |
Lucrul cu integritatea referențială
Dacă înregistrările pe care doriți să le arhivați sunt asociate cu înregistrări din alte tabele, poate fi necesar să evitați relația. Dacă înregistrările pe care doriți să le arhivați sunt înregistrări "fiu" (acestea aparțin părții "mulți" a unui relație unu-la-mai mulți ), probabil că le puteți arhiva în siguranță fără probleme. Dacă înregistrările pe care doriți să le arhivați sunt înregistrări "părinte" (acestea aparțin părții "unu" a unui relație unu-la-mai mulți ), atunci când le arhivați înregistrările "fiu" asociate pot:
-
Împiedicați ștergerea înregistrărilor "părinte". Acest lucru poate provoca probleme dacă ați adăugat deja înregistrările "părinte" la tabelul arhivă.
- Sau -
-
Deveniți "orfani" - înregistrări care aparțin unui "părinte" care nu există. Acest lucru poate provoca probleme cu integritatea și funcționalitatea datelor din baza de date, care utilizează înregistrările "solitare".
Pentru a ține cont de integritatea referențială, urmați acești pași:
-
Determinați ce înregistrări "fiu" aparțin înregistrărilor pe care doriți să le arhivați. De exemplu, pentru a arhiva înregistrări ale activelor care sunt împrumutate într-o bibliotecă, determinați mai întâi dacă există tranzacții deschise în activele respective, adică dacă activele au fost extrase, dar nu au fost returnate.
-
Alegeți una dintre următoarele:
-
Dacă înregistrările "fiu" pot fi întotdeauna șterse în siguranță, asigurați-vă că relația impune integritatea referențială, cu ștergeri în cascadă. Acest lucru asigură că toate înregistrările "fiu" asociate vor fi șterse.
-
Dacă înregistrările "fiu" nu se pot șterge întotdeauna în siguranță, luați în considerare arhivarea tuturor tabelelor din baza de date.
-
Create o interogare care selectează înregistrările "părinte" care nu au înregistrări "fiu". Apoi utilizați prima interogare pentru a crea interogările de arhivare (consultați secțiunea Mutarea periodică a înregistrărilor într-un tabel arhivă), în loc să utilizați tabelul "părinte".
-
Înlocuirea periodică a unui tabel
Dacă doriți să arhivați toate datele dintr-un tabel, puteți înlocui periodic tabelul cu o copie goală.
Important: Dacă tabelul pe care îl arhivați este legat de alte tabele, poate fi necesar să evitați integritatea referențială.
-
În Panoul de navigare, selectați tabelele pe care doriți să le arhivați, apăsați CTRL+C, apoi apăsați CTRL+V.
-
În caseta de dialog Lipire tabel ca , sub Opțiuni lipire, selectați Numai structură, apoi faceți clic pe OK.
Access denumiți copia ca o copie a numelui tabelului original. -
În Panoul de navigare, faceți clic dreapta pe tabelul original, apoi faceți clic pe Redenumire în meniul de comenzi rapide.
Dați tabelului un alt nume pentru a indica ce conține, cum ar fi "DailyTemperatureExtremes_archive_2019". -
În Panoul de navigare, faceți clic dreapta pe copia necompletată, apoi faceți clic pe Redenumire în meniul de comenzi rapide. Redenumiți-l cu numele tabelului original.
Înlocuiți periodic toate tabelele
Dacă utilizați o bază de date scindată, puteți înlocui periodic toate tabelele, înlocuind baza de date back-end cu o copie goală.
Pentru a face acest lucru, pregătiți mai întâi copia necompletată. Cu excepția cazului în care se modifică proiectarea bazei de date, puteți reutiliza această copie necompletată de fiecare dată când arhivați. Pentru a arhiva, redenumiți pur și simplu baza de date back-end existentă pentru a indica faptul că este o arhivă și salvați copia necompletată ca nouă bază de date back-end.
Pregătirea unei copii goale a unei baze de date back-end
Mai întâi, importați definițiile de tabel pentru toate tabelele din baza de date back-end.
-
Pe fila Fișier, faceți clic pe Nou, selectați Bază de date necompletată, apoi faceți clic pe Create.
-
Închideți Tabel1.
-
Pe fila Date externe , în grupul Import & legătură , faceți clic pe Access.
-
În caseta de dialog Preluare date externe - bază de date Access , selectați Import tabele, interogări, formulare, rapoarte, macrocomenzi și module în baza de date curentă, apoi faceți clic pe Răsfoire.
-
În caseta de dialog Deschidere fișier , selectați baza de date back-end. Faceți clic pe Deschidere pentru a închide caseta de dialog Deschidere fișier , apoi faceți clic pe OK.
-
În caseta de dialog Import obiecte , faceți clic pe Opțiuni.
-
Sub Import tabele, selectați Numai definiția.
-
Pe fila Tabele , faceți clic pe Selectare totală, pe OK, apoi pe Închidere.
Adăugarea datelor la orice tabele de căutare în copia necompletată
Pentru fiecare tabel de căutare, efectuați pașii următori:
-
Creați o legătură la tabelul de căutare din baza de date back-end existentă.
-
Create o interogare de adăugare care adaugă toate înregistrările din original la copie.
Înlocuirea bazei de date back-end cu o copie goală
Mai întâi, redenumiți baza de date back-end existentă pentru a indica faptul că aceasta este acum o arhivă. Apoi deschideți copia goală și salvați-o utilizând numele original al bazei de date back-end.
-
Faceți clic pe fila Fișier , apoi faceți clic pe Salvare bază de date ca. Vi se poate solicita să închideți toate obiectele deschise; dacă este așa, faceți clic pe OK. Se deschide caseta de dialog Salvare ca .
-
În caseta Salvare în (în partea de sus a casetei de dialog Salvare ca ), asigurați-vă că salvați fișierul în același loc ca baza de date back-end originală.
-
În caseta Nume fișier , introduceți numele bazei de date back-end originale.
-
În caseta Salvare cu tipul , selectați Bază de date Access (*.accdb).
Mutați periodic înregistrările într-un tabel arhivă
Acesta este un proces în patru pași care necesită crearea unei copii goale a tabelului care conține înregistrările pe care doriți să le arhivați, crearea unei interogări de adăugare pentru a copia înregistrările din tabelul original în tabelul arhivă, crearea unei interogare de ștergere pentru a elimina înregistrările arhivate din tabelul original și, în cele din urmă, crearea unei macrocomenzi pentru a rula ambele interogări care pot rula atunci când doriți să arhivați. Acest proces aparent complex poate fi ușor dacă urmați pașii în ordinea în care sunt prezentați mai jos:
Pasul 1: Create unui tabel arhivă
Pasul 2: Create o interogare de adăugare pentru a copia datele în tabelul arhivă
Pasul 3: Create o interogare de ștergere pentru a elimina datele din tabelul original
Pasul 4: Create o macrocomandă pentru a rula atât interogări de adăugare, cât și de ștergere
Pasul 1: Create unui tabel arhivă
Pentru a păstra toate înregistrările arhivate într-un singur tabel, efectuați acest pas o dată. Tabelul arhivă pe care îl creați în acest pas va conține toate înregistrările arhivate.
Pentru a șterge tabelul arhivă vechi atunci când creați unul nou, în loc să efectuați acest pas, puteți utiliza o interogare de creare tabel pentru a copia datele în tabelul arhivă. Pentru a face acest lucru, treceți la Pasul 2.
Pentru a utiliza un tabel arhivă nou de fiecare dată când arhivați, dar și pentru a păstra tabelele de arhivă vechi, redenumiți tabelul arhivă vechi înainte de a crea unul nou. Dacă arhivați pe baza unei date calendaristice, luați în considerare denumirea vechilor tabele arhivă în funcție de intervalul de date pe care îl reprezintă.
-
În Panoul de navigare, selectați tabelul care are înregistrări de arhivat, apăsați CTRL+C, apoi apăsați CTRL+V.
-
În caseta Nume tabel , ștergeți cuvintele Copie a și adăugați un caracter de subliniere și cuvântul "arhivă" la numele tabelului existent, apoi faceți clic pe OK. De exemplu, dacă tabelul original se numește Tranzacții , tabelul arhivă se numește Transactions_archive.
-
În caseta de dialog Lipire tabel ca , sub Opțiuni lipire, selectați Numai structură.
Pasul 2: Create o interogare de adăugare pentru a copia datele în tabelul arhivă
-
În fila Creare, în grupul Interogări, faceți clic pe Proiectare interogare.
-
Adăugați tabelul cu înregistrările pe care doriți să le arhivați.
-
În fereastra de proiectare a interogării, faceți dublu clic pe asterisc (*) în tabelul pe care tocmai l-ați adăugat. Numele tabelului și un asterisc apar în prima coloană a grilei de proiectare a interogării.
Notă: Asteriscul indică faptul că interogarea ar trebui să includă toate câmpurile din tabel în rezultatul interogării. Atunci când utilizați asteriscul, dacă sunt adăugate sau eliminate câmpuri din tabel, rezultatul interogării se ajustează în mod corespunzător.
-
În fereastra de proiectare a interogării, faceți dublu clic pe câmpul pe care doriți să-l utilizați pentru a specifica o condiție pe care înregistrările ar trebui să o îndeplinească înainte de a le arhiva. De exemplu, dacă tabelul Tranzacții are un câmp denumit Dată arhivată și doriți să arhivați toate înregistrările în care data respectivă are mai mult de un an, faceți dublu clic pe câmp și apare în următoarea coloană necompletată din grila de proiectare a interogării.
Repetați acest pas dacă doriți să utilizați criterii cu câmpuri suplimentare.
-
Utilizați rândul Criterii pentru a specifica criteriile pentru câmpurile pe care tocmai le-ați adăugat. De exemplu, puteți specifica ca Data arhivată să fie anterioară datei de 1 ianuarie 2019, utilizând expresia <#1/1/2019# din rândul Criterii .
Dacă valorile criteriilor se modifică de fiecare dată când arhivați, ar trebui să faceți interogarea să solicite date de intrare. Pentru a face acest lucru, utilizați un parametru în rândul Criterii , astfel încât interogarea să solicite date de intrare. Pentru a utiliza un parametru, utilizați o expresie așa cum procedați în mod normal, dar, în loc de o valoare specificată, utilizați o scurtă întrebare încadrată de paranteze drepte. De exemplu, puteți utiliza expresia <[Arhivare tranzacții finalizate înainte:], astfel:
Pentru mai multe informații despre utilizarea parametrilor, consultați articolul Introducere în interogări.
De asemenea, se recomandă să utilizați rândul sau pentru a specifica condiții alternative. Pentru mai multe informații despre utilizarea criteriilor, consultați articolul Exemple de criterii de interogare.
Sfat: Dacă utilizați un câmp dată pentru a specifica criterii și doriți să arhivați toate înregistrările mai vechi decât data curentă, introduceți <Date() în rândul Criterii pentru câmpul dată.
-
Alegeți una dintre următoarele variante:
Dacă ați creat deja tabelul arhivă, utilizați o interogare de adăugare pentru a adăuga înregistrările specificate la acel tabel:
-
În fila Proiect, în grupul Tip interogare, faceți clic pe Adăugare.
-
În caseta de dialog Adăugare , în caseta Nume tabel , selectați numele tabelului arhivă, apoi faceți clic pe OK.
În grila de proiectare a interogării, apare rândul Adăugare la .
-
Debifați rândul Adăugare la pentru toate câmpurile pe care le-ați utilizat pentru a specifica criterii. (Numai asteriscul trebuie să aibă o valoare pentru Adăugare la.)
Dacă nu ați creat tabelul arhivă, utilizați o interogare de creare tabel pentru a crea tabelul arhivă utilizând înregistrările specificate:
-
În fila Proiect, în grupul Tip interogare, faceți clic pe Creare tabel.
-
În caseta de dialog Creare tabel , în caseta Nume tabel , tastați numele tabelului arhivă, apoi faceți clic pe OK.
-
-
Apăsați CTRL+S pentru a salva interogarea.
Pasul 3: Create o interogare de ștergere pentru a elimina datele din tabelul original
-
În fila Creare, în grupul Interogări, faceți clic pe Proiectare interogare.
-
Adăugați tabelul cu înregistrările pe care doriți să le arhivați.
-
În fereastra de proiectare a interogării, faceți dublu clic pe asterisc (*) în tabelul pe care tocmai l-ați adăugat. Numele tabelului și un asterisc apar în prima coloană a grilei de proiectare a interogării.
-
În fereastra de proiectare a interogării, faceți dublu clic pe aceleași câmpuri pe care le-ați utilizat pentru a specifica o condiție în interogarea de adăugare.
-
Utilizați rândul Criterii pentru a specifica criteriile pentru câmpurile pe care tocmai le-ați adăugat. Pentru mai multe informații despre utilizarea criteriilor, consultați articolul Exemple de criterii de interogare.
Important: Dacă interogarea de adăugare sau creare tabel a utilizat un parametru, asigurați-vă că și interogarea de ștergere face acest lucru. De asemenea, rețineți că introduceți aceeași valoare pentru ambele interogări. Dacă introduceți valori de parametri diferite, este posibil să pierdeți date. Pentru a preveni pierderea de date, luați în considerare utilizarea unui formular pentru a colecta valorile și a face interogările să solicite de la formular valorile de intrare. Pentru mai multe informații, consultați articolul Introducere în interogări.
-
Pe fila Proiectare, în grupul Tip interogare, faceți clic pe Ștergere.
Rândul Ștergere apare în grila de proiectare a interogării.
-
Apăsați CTRL+S pentru a salva interogarea.
Pasul 4: Create o macrocomandă pentru a rula atât interogări de adăugare, cât și de ștergere
-
În fila Creare, în grupul Macrocomenzi și cod, faceți clic pe Macrocomandă.
-
Faceți clic pe săgeata verticală de lângă Adăugare acțiune nouă, apoi faceți clic pe DeschidereInterogare.
Acțiunea DeschidereInterogare apare și afișează argumentele sale.
-
În caseta Nume interogare , selectați interogarea (adăugare sau creare tabel) pe care ați creat-o la Pasul 2.
-
Faceți clic pe săgeata verticală de lângă Adăugare acțiune nouă, apoi faceți clic pe DeschidereInterogare.
Acțiunea DeschidereInterogare apare și afișează argumentele sale.
-
În caseta Nume interogare , selectați interogarea de ștergere creată la Pasul 3.
-
Apăsați CTRL+S pentru a salva macrocomanda.
Atunci când doriți să arhivați înregistrări, rulați macrocomanda.