Ha nagy mennyiségű adatot szeretne gyorsan törölni, vagy rendszeresen törölni szeretne egy adathalmazt egy asztali Access-adatbázisban, akkor hasznos lehet egy törlő vagy frissítő lekérdezés, mert a lekérdezések segítségével feltételeket adhat meg az adatok gyors kereséséhez és törléséhez. A lekérdezésekkel emellett időt takaríthat meg, mivel a mentett lekérdezések újra felhasználhatók.
Megjegyzés
Mielőtt bármilyen adatot törölne vagy törlő lekérdezést futtatna, gondoskodjon az asztali Access-adatbázis biztonsági mentéséről.
Ha csak néhány rekordot szeretne törölni, nincs szükség lekérdezésre. Csak nyissa meg a táblát Adatlap nézetben, jelölje ki a törölni kívánt mezőket (oszlopokat) vagy rekordokat (sorokat), és nyomja le a DELETE billentyűt.
Fontos
A cikkben leírt információk kizárólag asztali adatbázisokon alkalmazhatók. Az Access-webappokban nem használhatók törlő és frissítő lekérdezések.
Tartalom
- Lekérdezéstípus kiválasztása
- Törlő lekérdezés használata
- A frissítő lekérdezés használata
- További információ
- Hibaelhárítási tanácsok
Lekérdezéstípus kiválasztása
Az adatbázis adatainak törléséhez frissítő és törlő lekérdezést is használhat. Válasszon egy lekérdezést az alábbi táblázat adatai alapján:
| A lekérdezés típusa | Mikor használatos | Eredmények |
|---|---|---|
| Törlő lekérdezés használata | Ha teljes rekordokat (sorokat) szeretne eltávolítani egy táblából vagy egyszerre két kapcsolódó táblából. Megjegyzés: Ha a rekordok egy egy-a-többhöz kapcsolat "egy" oldalán találhatók, előfordulhat, hogy a törlő lekérdezés futtatása előtt módosítania kell a kapcsolatot. Lásd az adatok törléséről a kapcsolódó táblákból szóló részt. |
A törlő lekérdezésekkel minden adatot eltávolítanak az egyes mezőkből, beleértve a rekord egyediségét biztosító kulcsértéket is |
| Frissítő lekérdezés használata | Egyes mezőértékek törlése egy táblából: | A meglévő értékek null értékre (azaz adatok nélkül) vagy nulla hosszúságú karakterláncra (szóköz nélküli dupla idézőjelpár) frissítésével megkönnyíti az értékek törlését. |
Amit érdemes ellenőrizni, mielőtt lekérdezéssel törölné az adatokat
Győződjön meg arról, hogy a fájl nem írásvédett:
- Kattintson a jobb gombbal a Start menüre, majd a Windows Intéző megnyitása parancsra.
- Kattintson a jobb gombbal az adatbázisfájlra, és válassza a Tulajdonságok parancsot.
- Ellenőrizze, hogy az Írásvédett attribútum be van-e jelölve.
Ellenőrizze, hogy rendelkezik-e a rekordok adatbázisból való törléséhez szükséges jogosultságokkal. Ha bizonytalan, forduljon a rendszergazdához vagy az adatbázis tervezőjéhez.
Ellenőrizze, hogy engedélyezte-e az adatbázis tartalmát. Az Access alapértelmezés szerint blokkol minden módosító lekérdezést (törlő, frissítő és táblakészítő lekérdezést), kivéve, ha az adatbázist először megbízhatónak nyilvánította. Az adatbázisok megbízhatóvá nyilvánításáról A lekérdezés blokkolásának megakadályozása a korlátozott üzemmóddal című szakaszban olvashat.
Kérje meg az adatbázis többi felhasználóját, hogy zárjanak be minden olyan táblát, űrlapot, lekérdezést és jelentést, amely a törölni kívánt adatokat használja. Ez segít elkerülni a zárolás megsértését.
A rekordok szerkesztése vagy törlése előtt célszerű biztonsági másolatot készíteni az adatbázisról arra az esetre, ha vissza szeretné vonni a módosításokat.
Tipp:
Ha nagyszámú felhasználó csatlakozik az adatbázishoz, előfordulhat, hogy be kell zárnia, majd újra meg kell nyitnia kizárólagos módban.
Adatbázis megnyitása kizárólagos módban
- Kattintson a Fájl lap >Megnyitás lehetőségre.
- Tallózással keresse meg az adatbázist, mutasson rá, kattintson a Megnyitás gomb melletti nyílra, majd a Kizárólagos megnyitás parancsra.
Az adatbázis biztonsági mentése
- Kattintson a Fájl fülre, mutasson a Mentés másként pontra.
- Kattintson az Adatbázis mentése másként, majd az Adatbázis biztonsági mentése elemre. Az Access bezárja az eredeti fájlt, létrehozza a biztonsági másolatot, majd újra megnyitja az eredeti fájlt.
- Kattintson a Mentés másként gombra, adja meg a biztonsági másolat nevét és helyét, majd kattintson a Mentés gombra.
Megjegyzés
Ha írásvédett adatbázist vagy egy, az Access előző verziójában létrehozott adatbázist használ, akkor megjelenhet egy üzenet, hogy az adatbázisról nem lehet biztonsági másolatot készíteni.
Ha vissza szeretné állítani valamelyik biztonsági másolatot, zárja be és nevezze át az eredeti fájlt, hogy a biztonsági másolat az eredeti verzió nevét használhassa. Rendelje hozzá az eredeti verzió nevét a biztonsági másolathoz, majd nyissa meg az átnevezett biztonsági másolatot az Accessben.
Törlő lekérdezés használata
Törlő lekérdezés létrehozásához kattintson a Létrehozás lap Lekérdezések csoportjában a Lekérdezéstervező gombra. Kattintson duplán minden olyan táblára, amelyből rekordokat szeretne törölni, majd kattintson a Bezárás gombra.
A tábla ablakként jelenik meg a lekérdezés tervezőrácsának felső részében. A mezőlistában a csillagra (*) duplán kattintva vegye fel a tábla összes mezőjét a tervezőrácsra.
Adott feltétel használata törlő lekérdezésben
Fontos
Adjon vissza csak a törölni kívánt rekordokat a feltételekkel. Ellenkező esetben a törlő lekérdezés eltávolítja a tábla összes rekordját.
Kattintson duplán a törlési feltételként megadni kívánt mezőre, írja be az egyik feltételt a lekérdezéstervező Feltétel sorába, majd törölje a jelölést az egyes feltételmezők Megjelenítés jelölőnégyzetéből.
Példa arra, amikor ezt a lehetőséget érdemes használni: Tegyük fel, hogy el szeretné távolítani egy ügyfél összes függőben lévő rendelését. Ha csak ezeket a rekordokat szeretné megkeresni, vegye fel a Vevőazonosító és a Rendelés dátuma mezőt a lekérdezés tervezőrácsára, majd adja meg a vevő azonosítószámát és azt a dátumot, amikor a vevő megrendelései érvénytelenné váltak.
- A Tervezés lapon kattintson azAdatlap nézetnézete elemre>.
- Ellenőrizze, hogy a lekérdezés a törölni kívánt rekordokat adja-e vissza, majd a CTRL+S billentyűkombinációt lenyomva mentse a lekérdezést.
- A lekérdezés futtatásához kattintson duplán a lekérdezésre a navigációs ablakban.
A frissítő lekérdezés használata
Megjegyzés
A frissítő lekérdezés funkció az Access-webappokban nem használható.
Ez a szakasz azt ismerteti, hogy miként törölhet különálló mezőket a táblákból frissítő lekérdezésekkel. Ne feledje, hogy az adatok törlésére irányuló frissítő lekérdezés futtatása esetén a meglévő értékek a megadott feltételtől függően NULL értékre vagy nulla hosszúságú karakterláncra módosulnak (dupla idézőjelpárra anélkül, amelyek között nincs szóköz).
Kattintson a Létrehozás fülre, majd a Lekérdezések csoport Lekérdezéstervező parancsára.
Jelölje ki azt a táblát, amely a törölni kívánt adatokat tartalmazza (ha a tábla kapcsolódik, akkor válassza ki a kapcsolat "egy" oldalán lévő táblát), kattintson a Hozzáadás, majd a Bezárás gombra.
A tábla ablakként jelenik meg a lekérdezés tervezőrácsának felső részében. Az ablak felsorolja a kijelölt tábla összes mezőjét.A csillagra (*) duplán kattintva vegye fel a tábla összes mezőjét a tervezőrácsra. Az összes táblamező hozzáadása lehetővé teszi a törlő lekérdezésnek, hogy teljes rekordokat (sorokat) távolítson el a táblából.
Ha szeretné, megadhat feltételeket a tervező Kritérium sorában lévő egy vagy több mezőhöz, majd törölheti a jelet az egyes feltételmezők Megjelenítés jelölőnégyzetéből. A feltételek használatáról a Mintafeltételek választó lekérdezésekhez táblázatban olvashat bővebben.Megjegyzés
A feltételek használatával csak a módosítani kívánt rekordokat adja vissza. Ellenkező esetben a frissítő lekérdezés a lekérdezés minden rekordjának NULL értékére állítja be a lekérdezés minden rekordját.
A Tervezés lap Eredmények csoportjában kattintson a Nézet gombra, majd válassza az Adatlap nézet lehetőséget.
Ellenőrizze, hogy a lekérdezés a NULL értéket vagy nulla hosszúságú karakterláncot (szóköz nélküli idézőjelpárat) adja-e vissza.
Szükség szerint ismételje meg a 3–5. lépést, és módosítsa a mezőket vagy feltételeket, amíg a lekérdezés csak a törölni kívánt adatokat adja vissza, majd mentse a lekérdezést a CTRL+S billentyűkombinációval.
A lekérdezés futtatásához kattintson duplán a lekérdezésre a navigációs ablakban.
További információ
Adatok törlése kapcsolódó táblákból
Ha több kapcsolódó táblából szeretne adatokat törölni, minden kapcsolatnál engedélyeznie kell a Hivatkozási integritás és a Kapcsolt mezők kaszkádolt törlése beállítást. Ez lehetővé teszi, hogy a lekérdezés adatokat töröljön a kapcsolat "egy" és "több" oldalán lévő táblákból. A kapcsolódó adatok törlésének előkészítése a következők ellenőrzését igényli:
- Határozza meg, hogy mely rekordok találhatók a kapcsolat "egy" oldalán, és melyek a "több" oldalon.
- Ha rekordokat kell törölnie a kapcsolat "egy" oldaláról, és a kapcsolódó rekordokat a "több" oldalon, engedélyeznie kell a Hivatkozási integritás nevű szabálykészletet, és engedélyeznie kell a kaszkádolt törlést. A jelen szakasz lépései ismertetik a hivatkozási integritást, és mindkét művelet végrehajtását.
- Ha csak a kapcsolat "egy" oldaláról kell rekordokat törölnie, először törölje a kapcsolatot, majd az adatokat.
Ha csak a kapcsolat "több" oldalán kell adatokat eltávolítania, a kapcsolat módosítása nélkül is létrehozhatja és futtathatja a törlő lekérdezést.
Ha meg szeretné állapítani, hogy mely rekordok találhatók egy kapcsolat "egy" és "több" oldalán, kattintson az Adatbáziseszközök lap Kapcsolatok csoportjában a Kapcsolatok gombra. A Kapcsolatok lap megjeleníti az adatbázis tábláit és kapcsolatait. Az egyes kapcsolatokat egy vonal ábrázolja, amely összeköti a mezők közötti táblákat.
Az alábbi ábra egy tipikus kapcsolatot szemléltet. Az adatbázisokban lévő kapcsolatok többségének, ha nem az összesnek van "egy" és "több" oldala. A kapcsolati diagram az "egy" oldalt az egyes számmal (1), a "több" oldalt pedig a végtelen (∞) szimbólummal jelöli.
Amikor rekordokat töröl a kapcsolat "egy" oldaláról, akkor törli a kapcsolat "több" oldalán lévő összes kapcsolódó rekordot is. Amikor azonban egy kapcsolat "több" oldalán lévő rekordokat törli, általában nem törli az "egy" oldalon lévő rekordokat.
Az Access ezenkívül automatikusan kényszerít egy hivatkozási integritásnak nevezett szabálykészletet. Ezek a szabályok gondoskodnak arról, hogy az adatbázisban lévő idegen kulcsok a helyes értékeket tartalmazzák. Idegen kulcs olyan oszlop, amelynek értéke megegyezik egy másik tábla elsődlegeskulcs-oszlopában lévő értékekkel.
A kapcsolat szerkesztése
Csak akkor végezze el ezeket a lépéseket, ha törölnie kell egy kapcsolat "egy" és "több" oldalával kapcsolatos adatokat.
Kattintson az Adatbáziseszközök lap Kapcsolatok csoportjában a Kapcsolatok gombra.
Kattintson a jobb gombbal a törlési műveletben érintett táblákat összekötő vonalra, és válassza a helyi menü Kapcsolat szerkesztése parancsát.
A Kapcsolatok szerkesztése párbeszédpanelen győződjön meg arról, hogy a Hivatkozási integritás megőrzése jelölőnégyzet be van jelölve.
Jelölje be a Kapcsolt mezők kaszkádolt törlése jelölőnégyzetet.
Megjegyzés
Amíg újra le nem tiltja ezt a tulajdonságot, a kapcsolat "egy" oldalán lévő rekordok törlésekor minden, a kapcsolat "több" oldalán lévő összes kapcsolódó rekord törlődik.
Kattintson az OK gombra, zárja be a Kapcsolatok ablaktáblát, majd folytassa a következő lépéssorral.
Kapcsolat törlése
- Ha még nem tette meg, nyissa meg a Kapcsolatok ablaktáblát.
- Kattintson az Adatbáziseszközök lap Kapcsolatok csoportjában a Kapcsolatok gombra.
Jegyezze fel a kapcsolatban érintett mezőket, hogy az adatok törlése után visszaállíthassa a kapcsolatot. - Kattintson a jobb gombbal a törlési műveletben érintett táblákat összekötő vonalra, majd válassza a helyi menü Törlés parancsát.
Megjegyzés
A kapcsolat visszaállításához az előző lépésekkel nyissa meg a Kapcsolatok ablaktáblát, majd húzza az elsődleges kulcs mezőjét az "egy" táblából a "több" tábla idegenkulcs-mezőjére. Megjelenik a Kapcsolat szerkesztése párbeszédpanel. Ha a régi kapcsolat kényszerítette a hivatkozási integritást, jelölje be a Hivatkozási integritás megőrzése jelölőnégyzetet, majd kattintson a Létrehozás gombra. Egyéb esetben egyszerűen kattintson a Létrehozás gombra.
Mintafeltételek választó lekérdezésekhez
Az alábbi táblázat néhány olyan mintafeltételt sorol fel, amelyeket választó lekérdezésekben használhat, ha meg szeretne győződni arról, hogy csak a törölni kívánt adatokat törli. Néhány példa helyettesítő karaktereket használ.
| Feltétel | Hatás |
|---|---|
| > 234 | Minden 234-nél nagyobb számot visszaad. A 234-nél kisebb számok megkeresésére használja a < 234-et. |
| >= "Cajhen" | A Koczka névtől kezdődően az ábécé végéig minden rekordot visszaad. |
| Between #2/2/2010# And #12/1/2010# | A 2010. február 2. és 2010. december 1. közötti dátumokat adja vissza (ANSI-89 szerint). Ha az adatbázis ANSI-92 szabványú helyettesítő karaktereket használ, használjon aposztrófokat (') kettős keresztek (#) helyett. Példa: Between '2/2/2010' And '12/1/2010'. |
| Not "Németország" | Minden olyan rekordot megkeres, amelynek tartalma nem egyezik meg pontosan a „Németország” karaktersorozattal. A feltételkifejezés olyan rekordokat ad vissza, amelyek a „Németország” karakterlánc mellett további karaktereket is tartalmaznak, például: „Németország (Euró)” vagy „Európa (Németország)” . |
| Not "T*" | A nem T-vel kezdődő rekordokat keresi meg. Ha az adatbázis ANSI-92 szabványú helyettesítő karakterekre van beállítva, a csillag ()* helyett használjon százalékjeleket (%). |
| Not "*t" | Minden olyan rekord megkeresése, amely nem t-re végződik. Ha az adatbázis ANSI-92 helyettesítő karakterekre van beállítva, a csillag (*) helyett használjon százalékjelet (%). |
| In(Kanada,EK) | A listában megkeres minden olyan rekordot, amelyben szerepel a Kanada vagy az EK szó. |
| Like "[A-D]*" | Egy szövegmezőben megkeresi az A és D közé eső karakterekkel kezdődő rekordokat. Ha az adatbázis ANSI-92 szabványú helyettesítő karakterekre van beállítva, a csillag (*) helyett használjon százalékjeleket (%). |
| Like "*ar*" | Azokat a rekordokat keresi meg, amelyek tartalmazzák az „ar\rdblquote betűsorozatot. Ha az adatbázis ANSI-92 helyettesítő karakterekre van beállítva, a csillag (*) helyett használjon százalékjeleket (%). |
| Like "Bobvos Endr?" | Megkeresi azokat a rekordokat, amelyek a „Budai” névvel kezdődnek, és tartalmaznak egy ötbetűs második karakterláncot, amelynek első négy betűje „Csab”, utolsó betűje pedig ismeretlen. Ha az adatbázis ANSI-92 szabványú helyettesítő karakterekre van beállítva, használja az aláhúzásjelet (_) a kérdőjel (?) helyett. |
| #2/2/2010# | Megkeresi azokat a rekordokat, amelyek a 2010. február 2. dátumot tartalmazzák. Ha az adatbázis ANSI-92 szabványú helyettesítő karakterekre van beállítva, a dátumot kettős keresztek (2/2/2010) helyett aposztrófok közé tegye. |
| < Date() - 30 | A Date függvényt használja a 30 napnál régebbi dátumok visszaadására. |
| Date() | A Date függvényt használja a mai dátumot tartalmazó rekordok visszaadására. |
| Between Date( ) And DateAdd("M", 3, Date( )) | A Date és a DateAdd függvény segítségével az aktuális nap és az aktuális dátumtól számított három hónapon belüli rekordokat visszaadja. |
| Is Null | Azokat a rekordokat adja vissza, amelyek null (üres vagy meghatározatlan) értékeket tartalmaznak. |
| Is Not Null | Visszaadja az összes olyan rekordot, amely bármilyen értéket tartalmaz (de nem null). |
| "" | Visszaad minden rekordot, amely nulla hosszúságú karakterláncot tartalmaz. Akkor használ nulla hosszúságú karakterláncokat, ha egy kötelező mezőben értéket kell megadnia, de még nem ismeri a tényleges értéket. Ha például egy mezőben faxszámot kell megadni, de egy vevőnek még nincs faxkészüléke. Ebben az esetben szám helyett dupla idézőjelpárat kell beírnia, ahol nem szerepel szóköz (""). |
Hibaelhárítási tanácsok
Miért jelenik meg ez a hibaüzenet, és hogyan háríthatom el?
Ha több tábla felhasználásával állít össze törlő lekérdezést, és a lekérdezés Egyedi rekordok tulajdonságának értéke Nem, az Access a hibaüzenetet jeleníti meg; A lekérdezés futtatásakor nem sikerült törölni a megadott táblákból .
A hiba elhárításához állítsa a lekérdezés Egyedi rekordok tulajdonságát Igen értékre.
- Nyissa meg a törlő lekérdezést Tervező nézetben.
- Ha nem nyílik meg a lekérdezés tulajdonságlapja, akkor nyissa meg az F4 billentyű lenyomásával.
- A lekérdezéstervezőre kattintva jelenítse meg a lekérdezés tulajdonságait (a mezők tulajdonságai helyett).
- Keresse meg a lekérdezés tulajdonságlapján az Egyedi rekordok tulajdonságot, majd állítsa az Igen értékre.
Annak megakadályozása, hogy a korlátozott üzemmód letiltsa a lekérdezést
Alapértelmezés szerint, ha olyan asztali adatbázist nyit meg, amelyben nem nyilvánította megbízhatónak, vagy amely nem megbízható helyen található, az Access blokkolja az összes módosító lekérdezés futtatását.
Ha megpróbál futtatni egy módosító lekérdezést, és látszólag nem történik semmi, ellenőrizze, hogy az Access állapotsorában látható-e az alábbi üzenet:
Ez a művelet vagy esemény a korlátozott üzemmód miatt le van tiltva.
Amikor megjelenik ez az üzenet, a következő lépéssel engedélyezze a letiltott tartalmat:
- A biztonsági figyelmeztetés üzenetsávján kattintson a Tartalom engedélyezése elemre, majd futtassa újra a lekérdezést.