"Microsoft Access" duomenų bazes galite tvarkyti ir tvarkyti periodiškai archyvuodami senus arba neaktyvius įrašus. Galite archyvuoti visas duomenų bazės lenteles, tam tikras lenteles arba tik tam tikrus įrašus, pavyzdžiui, įrašus, kurie yra senesni nei tam tikra data. Šioje temoje aiškinama, kaip naudoti tris skirtingas parinktis duomenims archyvuoti "Access" duomenų bazėje.
Šiame straipsnyje:
- Kada verta apsvarstyti galimybę archyvuoti?
- Periodiškas lentelės keitimas
- Periodiškai keisti visas lenteles
- Periodiškas įrašų perkėlimas į archyvo lentelę
Kada verta apsvarstyti galimybę archyvuoti?
Kai jūsų kompiuterio duomenų bazėje yra duomenų, kurių nebeketinate naudoti, bet norite juos turėti po ranka, jei kada nors jų prireiktų, arba laikantis duomenų saugojimo taisyklių, archyvavimas yra geras būdas tokiems duomenims išsaugoti. Archyvavimas taip pat dažnai naudojamas saugoti duomenis pagal datos sąlygą, pvz., mėnesio pabaigoje.
Duomenų archyvavimo būdai
Šioje lentelėje išvardyti duomenų archyvavimo metodai, metodo aprašas, paaiškinimas, kada turėtumėte naudoti kiekvieną metodą, ir kitos konkrečios metodo pastabos.
| Metodas | Aprašymas | Naudokite, kai... | Kitos pastabos |
|---|---|---|---|
| Periodiškas lentelės keitimas | Periodiškai sukuria konkrečios lentelės archyvo kopiją ir tą lentelę pakeičia nauja tuščia lentelės kopija. | Visi lentelės įrašai atitinka sąlygas, kuriomis nustatote, ar archyvuoti. PAVYZDYS: turite lentelę, kurioje saugomi dienos kraštutiniai temperatūros duomenys. Kiekvienais metais archyvuojate lentelę ir pradedate iš naujo nuo tuščios. |
|
| Periodiškai keisti visas lenteles | Periodiškai sukurkite vidinės duomenų bazės archyvo kopiją, tada pakeiskite vidinę duomenų bazę nauja tuščia duomenų baze. Reikia suskaidytos duomenų bazės (duomenų bazės, kurią sudaro: vidinės duomenų bazės failas, kuriame yra visos lentelės, ir išorinės duomenų bazės failas, kuriame yra visi kiti duomenų bazės objektai). | Visi įrašai daugumoje duomenų bazės lentelių atitinka sąlygą, kurią naudojate spręsdami, ar archyvuoti. PAVYZDYS: jūsų duomenų bazę sudaro kelios lentelės su skirtingų tipų meteorologiniais duomenimis. Kiekvienais metais archyvuojate visas lenteles. |
|
| Periodiškas įrašų perkėlimas į archyvo lentelę | Periodiškai vykdoma užklausa, kuri pasirenka archyvuotinus įrašus ir įtraukia duomenis į archyvavimo lentelę, tada vykdoma užklausa, kad pasirinktų tuos pačius įrašus (iš pradinės lentelės) ir juos panaikintų. | Kai kurie lentelės įrašai atitinka sąlygą, kurią naudojate spręsdami, ar archyvuoti. PAVYZDYS: norite archyvuoti bibliotekos operacijas (paėmimą ir užrakinimą), jei įrašymo ir atrakinimo data yra mažiausiai metų senumo. |
Įspėjimas: Jei užklausose reikia naudoti parametrus, turite sukurti parametrams apdoroti skirtą formą. Antraip rizikuojate prarasti duomenis. |
Nuorodų vientisumo apsaugojimas
Jei įrašai, kuriuos norite archyvuoti, susiję su įrašais kitose lentelėse, gali tekti išspręsti ryšį. Jei įrašai, kuriuos norite archyvuoti, yra "antriniai" įrašai (jie priklauso ryšio "vienas su daugeliu" daliai "daugelis"), tikriausiai galite saugiai juos archyvuoti be jokių rūpesčių. Jei įrašai, kuriuos norite archyvuoti, yra "pirminiai" įrašai (jie priklauso ryšio "vienas su daugeliu" daliai "vienas"), archyvuojant jų susijusius "antrinius" įrašus galima:
- Neleisti panaikinti "pirminių" įrašų. Tai gali sukelti problemų, jei į archyvavimo lentelę jau pridėjote pirminius įrašus.
- Arba -
- Tapti "vienišaisiais" – įrašais, priklausančiais neegzistuojančiam "tėvui". Tai gali sukelti duomenų vientisumo ir duomenų funkcionalumo problemų duomenų bazėje, kuri naudoja "vienišuosius" įrašus.
Norėdami atsižvelgti į nuorodų vientisumą, atlikite šiuos veiksmus:
Nustatykite, kurie antriniai įrašai priklauso įrašams, kuriuos norite archyvuoti. Pavyzdžiui, norėdami archyvuoti bibliotekoje paskolinto turto įrašus, pirmiausia nustatykite, ar su tuo turtu yra atidarytų operacijų, t. y. ar turtas buvo paimtas ir užrakintas, bet negrąžintas.
Atlikite vieną iš šių veiksmų:
- Jei antrinius įrašus visada galima saugiai panaikinti, įsitikinkite, kad ryšys įgalina nuorodų vientisumą naudojant pakopinį naikinimą. Taip užtikrinama, kad visi susiję antriniai įrašai bus panaikinti.
- Jei antrinių įrašų ne visada galima saugiai panaikinti, apsvarstykite galimybę archyvuoti visas duomenų bazės lenteles.
- Sukurkite užklausą, kuri pasirenka pirminius įrašus, kurie neturi antrinių įrašų. Tada naudokite pirmą užklausą archyvavimo užklausoms kurti (žr. skyrių Periodiškas įrašų perkėlimas į archyvo lentelę), o ne pirminę lentelę.
Periodiškas lentelės keitimas
Jei norite archyvuoti visus lentelės duomenis, galite periodiškai pakeisti lentelę tuščia kopija.
Svarbu
Jei lentelė, kurią archyvuojate, yra susijusi su kitomis lentelėmis, gali reikėti pašalinti nuorodų vientisumą.
Naršymo srityje pasirinkite lenteles, kurias norite archyvuoti, paspauskite CTRL+C, tada paspauskite CTRL+V.
Dialogo lango Įklijuoti lentelę kaip dalyje Įklijavimo parinktys pasirinkite Tik struktūra, tada spustelėkite Gerai.
"Access" pavadina kopiją kaip pradinio lentelės pavadinimo kopiją.
Naršymo srityje dešiniuoju pelės mygtuku spustelėkite pradinę lentelę, tada laikinajame meniu spustelėkite Pervardyti .
Suteikite lentelei kitą pavadinimą, nurodantį, kas joje yra, pvz., "DailyTemperatureExtremes_archive_2019".
Naršymo srityje dešiniuoju pelės mygtuku spustelėkite tuščią kopiją, tada laikinajame meniu spustelėkite Pervardyti . Pervardykite jį pradinės lentelės pavadinimu.
Periodiškai keisti visas lenteles
Jei naudojate perskirtą duomenų bazę, galite periodiškai keisti visas lenteles pakeisdami vidinę duomenų bazę tuščia kopija.
Norėdami tai padaryti, pirmiausia paruoškite tuščią kopiją. Jei nesikeičia duomenų bazės struktūra, galite pakartotinai naudoti šią tuščią kopiją kiekvieną kartą, kai archyvuojate. Norėdami archyvuoti, tiesiog pervardykite esamą vidinę duomenų bazę, kad būtų nurodyta, jog ji yra archyvas, ir įrašykite tuščią kopiją kaip naują vidinę duomenų bazę.
Tuščios vidinės duomenų bazės kopijos parengimas
Pirmiausia importuokite visų lentelių apibrėžimus vidinėje duomenų bazėje.
- Skirtuke Failas spustelėkite Naujas, pasirinkite Tuščia duomenų bazė, tada spustelėkite Kurti.
- Uždaryti Lentelę1.
- Skirtuko Išoriniai duomenys grupėje Importuoti & susieti spustelėkite "Access".
- Dialogo lange Gauti išorinius duomenis – "Access" duomenų bazė pasirinkite Importuoti lenteles, užklausas, formas, ataskaitas, makrokomandas ir modulius į dabartinę duomenų bazę, tada spustelėkite Naršyti.
- Dialogo lange Failo atidarymas pasirinkite vidinę duomenų bazę. Spustelėkite Atidaryti , kad uždarytumėte dialogo langą Failo atidarymas , tada spustelėkite Gerai.
- Dialogo lange Importuoti objektus spustelėkite Parinktys.
- Dalyje Importuoti lenteles pasirinkite Tik apibrėžimas.
- Skirtuke Lentelės spustelėkite Žymėti viską, Gerai, tada spustelėkite Uždaryti.
Duomenų įtraukimas į bet kurias peržvalgos lenteles tuščioje kopijoje
Kiekvienoje peržvalgos lentelėje atlikite šiuos veiksmus:
- Saitas į esamos vidinės duomenų bazės peržvalgos lentelę.
- Sukurkite papildymo užklausą, kuri į kopiją įtraukia visus įrašus iš originalo.
Vidinės duomenų bazės pakeitimas tuščia kopija
Pirmiausia pervardykite esamą vidinę duomenų bazę, kad nurodytumėte, jog ji dabar yra archyvas. Tada atidarykite tuščią kopiją ir įrašykite ją naudodami pradinį vidinės duomenų bazės pavadinimą.
- Spustelėkite skirtuką Failas , tada spustelėkite Įrašyti duomenų bazę kaip. Galite būti paraginti uždaryti visus atidarytus objektus; Jei taip, spustelėkite Gerai. Atsidaro dialogo langas Įrašyti kaip .
- Lauke Įrašyti kaip (dialogo lango Įrašyti kaip viršuje) įsitikinkite, kad failą įrašote toje pačioje vietoje, kaip ir pradinė vidinė duomenų bazė.
- Lauke Failo vardas įveskite pradinės vidinės duomenų bazės pavadinimą.
- Lauke Įrašomo failo tipas pasirinkite "Access" duomenų bazė (*.accdb).
Periodiškas įrašų perkėlimas į archyvo lentelę
Tai keturių veiksmų procesas, kurio metu reikia padaryti tuščią lentelės su įrašais, kuriuos norite archyvuoti, kopiją, sukurti papildymo užklausą, kad nukopijuotumėte įrašus iš pradinės lentelės į archyvavimo lentelę, sukurti naikinimo užklausą, kad pašalintumėte suarchyvuotus įrašus iš pradinės lentelės, ir galiausiai sukurti makrokomandą, skirtą vykdyti abi užklausas, kurias galima vykdyti, kai norite archyvuoti. Šis iš pažiūros sudėtingas procesas gali būti lengvas, jei atliksite veiksmus tokia tvarka, kokia jie pateikti toliau:
1 veiksmas: archyvavimo lentelės kūrimas
2 veiksmas: papildymo užklausos, kad duomenys būtų nukopijuoti į archyvavimo lentelę, kūrimas
3 veiksmas: naikinimo užklausos, skirtos pašalinti duomenis iš pradinės lentelės, kūrimas
4 veiksmas. Makrokomandos, skirtos užklausoms vykdyti, papildymo ir naikinimo operacijoms, kūrimas
1 veiksmas: archyvavimo lentelės kūrimas
Norėdami visus suarchyvuotus įrašus laikyti vienoje lentelėje, atlikite šį veiksmą vieną kartą. Archyvo lentelėje, kurią sukuriate atlikdami šį veiksmą, bus visi suarchyvuoti įrašai.
Norėdami panaikinti seną archyvo lentelę, kai kuriate naują lentelę, užuot atlikę šį veiksmą, galite naudoti lentelės kūrimo užklausą duomenims į archyvo lentelę nukopijuoti. Norėdami tai atlikti, pereikite prie 2 veiksmo.
Jei norite naudoti naują archyvo lentelę kiekvieną kartą, kai archyvuojate, bet taip pat išsaugoti senas archyvo lenteles, prieš kurdami naują pervardykite seną archyvo lentelę. Jei archyvuojate pagal datą, apsvarstykite galimybę senas archyvo lenteles pavadinti pagal jų žymimą datų diapazoną.
- Naršymo srityje pasirinkite lentelę, kurioje yra archyvuotinų įrašų, paspauskite CTRL+C, tada paspauskite CTRL+V.
- Lauke Lentelės pavadinimas panaikinkite žodžius Kopijuoti ir prie esamos lentelės pavadinimo pridėkite pabraukimo brūkšnelį ir žodį "archyvas", tada spustelėkite Gerai. Pavyzdžiui, jei pradinės lentelės pavadinimas yra Operacijos , archyvo lentelė pavadinta Transactions_archive.
- Dialogo lango Įklijuoti lentelę kaip dalyje Įklijavimo parinktys pasirinkite Tik struktūra.
2 veiksmas: papildymo užklausos, kad duomenys būtų nukopijuoti į archyvavimo lentelę, kūrimas
Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.
Įtraukite lentelę su įrašais, kuriuos norite archyvuoti.
Užklausos dizaino lange dukart spustelėkite žvaigždutę (*) ką tik įtrauktoje lentelėje. Lentelės pavadinimas ir žvaigždutė rodomi pirmame užklausos dizaino tinklelio stulpelyje.
Pastaba
Žvaigždutė nurodo, kad užklausa turėtų apimti visus laukus iš lentelės užklausos išvestyje. Kai naudojate žvaigždutę, jei laukai įtraukiami į lentelę arba iš jos pašalinami, atitinkamai koreguojama užklausos išvestis.
Užklausos dizaino lange dukart spustelėkite lauką, kurį norite naudoti, kad nurodytumėte sąlygą, kurią įrašai turi atitikti, prieš juos archyvuodami. Pavyzdžiui, jei jūsų operacijų lentelėje yra laukas pavadinimu Įrašymo ir atrakinimo data, o jūs norite archyvuoti visus įrašus, kurių data yra senesnė negu vieneri metai, dukart spustelėkite lauką ir jis bus rodomas kitame tuščiame užklausos dizaino tinklelio stulpelyje.
Jei norite naudoti kriterijus su papildomais laukais, kartokite šį veiksmą.Norėdami nurodyti ką tik įtrauktų laukų kriterijus, naudokite eilutę Kriterijai . Pavyzdžiui, galite nurodyti, kad įrašymo ir atrakinimo data turi būti ankstesnė nei 2019 m. sausio 1 d., naudodami reiškinį <#1/1/2019# eilutėje Kriterijai .
Jei kriterijų reikšmės keičiasi kaskart archyvuojant, turėtumėte pateikti užklausą įvesties. Norėdami tai padaryti, naudokite parametrą eilutėje Kriterijai , kad užklausa prašytų įvesties. Norėdami naudoti parametrą, naudokite išraišką kaip įprasta, bet vietoj nurodytos reikšmės naudokite trumpą klausimą laužtiniuose skliaustuose. Pavyzdžiui, galite naudoti reiškinį <[Archyvo operacijos, atliktos anksčiau:], pvz.:
Daugiau informacijos apie parametrų naudojimą ieškokite straipsnyje Užklausų įvadas.
Taip pat galite naudoti arba eilutę, kad nurodytumėte alternatyvias sąlygas. Daugiau informacijos apie kriterijų naudojimą ieškokite straipsnyje Užklausos kriterijų pavyzdžiai.Patarimas
Jei naudojate datos lauką kriterijams nurodyti ir norite archyvuoti visus įrašus, kurie yra senesni nei dabartinė data, datos lauko eilutėje Kriterijai įveskite <Date().
Atlikite vieną iš šių veiksmų:
Jei jau sukūrėte archyvo lentelę, naudodami papildymo užklausą įtraukite nurodytus įrašus į lentelę:- Skirtuko Dizainas grupėje Užklausos tipas spustelėkite Papildymas.
-
Dialogo lango Papildymas lauke Lentelės pavadinimas pasirinkite archyvavimo lentelės pavadinimą ir spustelėkite Gerai.
Užklausos dizaino tinklelyje rodoma eilutė Papildyti . - Išvalykite eilutę Pridėti prie visų laukų, kuriuos naudojote kriterijams nurodyti. (Tik žvaigždutė turi turėti Papildyti reikšmę.)
Jeigu nesukūrėte archyvo lentelės, naudodami lentelės kūrimo užklausą sukurkite archyvo lentelę naudodami nurodytus įrašus: - Skirtuko Dizainas grupėje Užklausos tipas spustelėkite Lentelės kūrimas.
- Dialogo lango Lentelės sudarymas , lauke Lentelės pavadinimas , įveskite archyvavimo lentelės pavadinimą ir spustelėkite Gerai.
Spauskite CTRL+S, norėdami įrašyti užklausą.
3 veiksmas: naikinimo užklausos, skirtos pašalinti duomenis iš pradinės lentelės, kūrimas
Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.
Įtraukite lentelę su įrašais, kuriuos norite archyvuoti.
Užklausos dizaino lange dukart spustelėkite žvaigždutę (*) ką tik įtrauktoje lentelėje. Lentelės pavadinimas ir žvaigždutė rodomi pirmame užklausos dizaino tinklelio stulpelyje.
Užklausos dizaino lange dukart spustelėkite tuos pačius laukus, kuriuos naudojote nurodydami sąlygą papildymo užklausoje.
Norėdami nurodyti ką tik įtrauktų laukų kriterijus, naudokite eilutę Kriterijai . Daugiau informacijos apie kriterijų naudojimą ieškokite straipsnyje Užklausos kriterijų pavyzdžiai.
Svarbu
Jei papildymo arba lentelės sudarymo užklausa naudojo parametrą, įsitikinkite, kad jį atlieka ir naikinimo užklausa. Taip pat nepamirškite, kad abiejose užklausose reikia įvesti tą pačią reikšmę. Jei įvesite skirtingas parametrų reikšmes, galite prarasti duomenis. Norėdami išvengti duomenų praradimo, apsvarstykite galimybę naudoti formą, kad surinktumėte reikšmes ir kad užklausos prašytų formos įvesties reikšmių. Daugiau informacijos rasite straipsnyje Užklausų įvadas.
Skirtuko Dizainas grupėje Užklausos tipas spustelėkite Naikinti.
Užklausos dizaino tinklelyje rodoma eilutė Naikinti.
Spauskite CTRL+S, norėdami įrašyti užklausą.
4 veiksmas. Makrokomandos, skirtos užklausoms vykdyti, papildymo ir naikinimo operacijoms, kūrimas
- Skirtuko Kurti grupėje Makrokomanda ir kodas spustelėkite Makrokomanda.
- Spustelėkite išplečiamąją rodyklę, esančią šalia Įtraukti naują veiksmą, tada spustelėkite OpenQuery.
Rodomas veiksmas "OpenQuery " ir rodomi jo argumentai. - Lauke Užklausos pavadinimas pasirinkite (papildymo arba lentelės) užklausą, kurią sukūrėte atlikdami 2 veiksmą.
- Spustelėkite išplečiamąją rodyklę, esančią šalia Įtraukti naują veiksmą, tada spustelėkite OpenQuery.
Rodomas veiksmas "OpenQuery " ir rodomi jo argumentai. - Lauke Užklausos pavadinimas pasirinkite naikinimo užklausą, kurią sukūrėte atlikdami 3 veiksmą.
- Paspauskite CTRL+S, kad įrašytumėte makrokomandą.
Jei norite archyvuoti įrašus, vykdykite makrokomandą.