Törlő lekérdezés létrehozása és futtatása

Ha gyorsan szeretne sok adatot törölni vagy rendszeresen törölni egy asztali Access-adatbázisban, a törlési vagy frissítő lekérdezés hasznos lehet, mivel a lekérdezések lehetővé teszik az adatok gyors keresésére és törlésére vonatkozó feltételek megadását. A lekérdezések használata időtakarékos is lehet, mivel a mentett lekérdezéseket újra felhasználhatja.

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), majd nyomja le a DELETE billentyűt.

Fontos: A jelen cikkben található információk kizárólag asztali adatbázisokkal való használatra szolgálnak. Az Access-webalkalmazásokban nem használhat törlési és frissítési lekérdezéseket.

A cikk tartalma

Lekérdezéstípus kiválasztása

Az adatbázis adatainak törléséhez frissítő vagy törlése lekérdezést is használhat. Válasszon egy lekérdezést az alábbi táblázat adatai alapján:

Lekérdezés típusa

Mikor használatos

Eredmény:

Delete lekérdezés használata

Ha teljes rekordokat (sorokat) szeretne egyszerre eltávolítani egy táblából vagy két kapcsolódó táblából.

Megjegyzés: Ha a rekordok egy-a-több kapcsolat "egy" oldalán találhatók, előfordulhat, hogy a törlése lekérdezés futtatása előtt módosítania kell a kapcsolatot. Az adatok kapcsolódó táblákból való törléséről lásd a szakaszt.

A delete lekérdezések eltávolítják az összes adatot az egyes mezőkből, beleértve az egyedi rekordot azonosító kulcsértéket is

Frissítő lekérdezés használata

Egyes mezőértékek törlése egy táblából.

Egyszerűbbé teszi az értékek törlését, ha a meglévő értékeket null értékre frissíti (vagyis nem tartalmaz adatokat), vagy nulla hosszúságú karakterláncra (dupla idézőjelpárra, szóköz nélkül).

Vissza a lap tetejére

Az adatok törlése lekérdezéssel való előtt ellenőrizhető dolgok

  • Győződjön meg arról, hogy a fájl nem írásra írásra van beolvasva:

    1. Kattintson a jobb gombbal a Start menüre, és válassza a Windows Intéző megnyitása parancsát.

    2. Kattintson a jobb gombbal az adatbázisfájlra, és válassza a Tulajdonságok parancsot.

    3. Nézze meg, hogy az Írás csak olvasható attribútum van-e kiválasztva.

  • Ellenőrizze, hogy rendelkezik-e az adatbázis rekordjainak törléséhez szükséges engedélyekkel. Ha nem biztos benne, forduljon a rendszergazdához vagy az adatbázis tervezőjéhez.

  • Győződjön meg arról, hogy engedélyezte az adatbázis tartalmát. Az Access alapértelmezés szerint letilt minden műveletlekérdezőt (törlési, frissítési és tábla-tábla-adatokat visszaő lekérdezést), hacsak ön nem bízik meg először az adatbázisban. Az adatbázisok megbízhatóságával kapcsolatos további információkért lásd: A letiltott mód letiltása a lekérdezés letiltásából.

  • Kérje meg az adatbázis többi felhasználóját, hogy zárja be a törölni kívánt adatokat használó táblákat, űrlapokat, lekérdezéseket és jelentéseket. Ezzel elkerülheti a zárolási szabálysértéseket.

  • Mielőtt rekordokat szerkeszt vagy töröl, az adatbázis biztonsági másolatának létrehozása akkor jó ötlet, ha meg szeretné fordítani a módosításokat.

Tipp: Ha nagyszámú felhasználó csatlakozik az adatbázishoz, előfordulhat, hogy be kell zárnia az adatbázist, majd újra meg kell nyitnia kizárólagos módban.

Adatbázis megnyitása kizárólagos módban

  1. Kattintson a Megnyitás > Fájl fülre.

  2. Tallózással jelölje ki az adatbázist, kattintson a Megnyitás gomb melletti nyílra, majd a Kizárólagos megnyitás parancsra.

    Fájl megnyitása kizárólagos módban

Az adatbázis biztonsági mentése

  1. Kattintson a Fájl fülre, mutasson a Mentés másként parancsra.

  2. Kattintson az Adatbázis mentése máskéntparancsra, majd az Adatbázis biztonsági mentése parancsra. Az Access bezárja az eredeti fájlt, létrehozza a biztonsági másolatot, majd újra megnyitja az eredeti fájlt.

  3. 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 csak olvasható vagy az Access előző verziójában létrehozott adatbázist használ, előfordulhat, hogy egy üzenet arról, hogy nem lehet biztonsági mentéset létrehozni az adatbázisról.

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.

Delete lekérdezés használata

Delete lekérdezés létrehozásához kattintson a Létrehozás lap Lekérdezések csoportjábana Lekérdezéstervező gombra. Kattintson duplán minden 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én. A mezők listájában kattintson duplán a csillagra (*) a tábla összes mezőjének a tervezőrácshoz való hozzáadásához.

Using a specific criteria in a delete query

Fontos: Ha csak a törölni kívánt rekordokat szeretné visszaadni, használjon feltételeket. Ellenkező esetben a törlése lekérdezés a tábla minden rekordját eltávolítja.

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ában, majd törölje a jelölést az egyes feltételmezők Megjelenítése jelölőnégyzetből.

Példa arra, hogy mikor érdemes ezt a lehetőséget használni: Tegyük fel, hogy el szeretné távolítani egy ügyfél összes függőben lévő megrendelését. Ha csak ezeket a rekordokat keresné, 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, valamint azt a dátumot, amelyen a vevő rendelései érvénytelenné váltak.

  1. Kattintson a Tervezés lapon a Nézet > Adatlap nézet elemre.

  2. 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.

  3. A lekérdezés futtatásához kattintson duplán a lekérdezésre a navigációs ablakban.

Vissza a lap tetejére

A frissítő lekérdezés használata

Megjegyzés: Az Access-webalkalmazások nem tudják használni a frissítő lekérdezési beállítást.

Ebből a szakaszból megtudhatja, hogy miként törölhet egyes mezőket a táblákból frissítő lekérdezéssel. Ne feledje, hogy ha frissítő lekérdezést futtat adatok törlésére, a meglévő értékeket NULL értékűre vagy nulla hosszúságú karakterláncra (két dupla idézőjelpárra) módosítja a megadott feltételektől függően.

  1. Kattintson a Létrehozás fülre, majd a Lekérdezések csoport Lekérdezéstervező gombjára.

  2. Jelölje ki azt a táblát, amely a törölni kívánt adatokat tartalmazza (ha a tábla kapcsolatban áll, jelölje ki a táblát a kapcsolat "egy" oldalán), 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én. Az ablak felsorolja a kijelölt tábla összes mezőjét.

  3. 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, hogy a delete lekérdezés teljes rekordokat (sorokat) távolítson el a táblából.

    Ha szükséges, a tervező Feltétel sorában megadhatja egy vagy több mező feltételét, majd minden feltételmezőhöz törölhet minden egyes jelölőnégyzet jelölését. A feltételek használatával kapcsolatos további információkért tekintse meg a választó lekérdezések tábla minta feltételét.

    Megjegyzés: A feltételekkel csak a módosítani kívánt rekordokat lehet visszaadni. Ellenkező esetben a frissítő lekérdezés NULL értékűre állítja a lekérdezés minden egyes mezőjének rekordját.

  4. A Tervezés lap Eredmények csoportjában kattintson a Nézet gombra, majd válassza az Adatlap nézet lehetőséget.

  5. Ellenőrizze, hogy a lekérdezés azokat a rekordokat adja-e vissza, amelyeknél NULL értéket szeretne beállítani, vagy nulla hosszúságú karakterláncot (dupla idézőjelpár, közöttük szóköz nélkül ("").

  6. Szükség esetén ismételje meg a 3–5. lépést, és módosítsa a mezőket vagy a feltételeket, amíg a lekérdezés csak a törölni kívánt adatokat nem adja vissza, majd a CTRL+S billentyűkombinációt lenyomva mentse a lekérdezést.

  7. A lekérdezés futtatásához kattintson duplán a lekérdezésre a navigációs ablakban.

Vissza a lap tetejére

További információ

Kapcsolódó táblák adatainak törlése

Ha több kapcsolódó táblából szeretne adatokat törölni, minden kapcsolathoz engedélyeznie kell a hivatkozási integritás és a kapcsolt rekordok kaszkádolt törlése beállításait. 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ése előtt meg kell bizonyosodni az alábbiakról:

  • Határozza meg, hogy mely rekordok a kapcsolat "egy" oldalán találhatók, és melyek a "több" oldalon találhatók.

  • Ha a kapcsolat "egy" oldalán és a "több" oldalon található kapcsolódó rekordok rekordjait kell törölnie, engedélyezze a hivatkozási integritás nevű szabálykészletet, és engedélyezze a kaszkádolt törléseket. A szakasz lépései ismertetik a hivatkozási integritást és mindkét feladat elvégzését.

  • Ha csak a kapcsolat "egy" oldalán kell rekordokat törölnie, először törölnie kell a kapcsolatot, majd törölnie kell az adatokat.

Ha csak a kapcsolat "több" oldalán szeretne adatokat eltávolítani, a kapcsolat módosítása nélkül létrehozhatja és futtathatja a törlése lekérdezést.

Ha meg kell tudni, 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ázisban lévő táblákat és a kapcsolatokat. Minden kapcsolatot egy vonal ábrázol, amely összeköti a táblákat a mezők között.

Az alábbi ábrán egy tipikus kapcsolat látható. Az adatbázisokban található kapcsolatok legtöbb esetben "egy" és "több" oldalból áll. A kapcsolatdiagram az "egy" oldalt jelöli a számmal (1) és a "több" oldalt a végtelen () szimbólummal.

Kapcsolat két tábla között

Ha a kapcsolat "egy" oldalán töröl rekordokat, a kapcsolat "több" oldalán található összes kapcsolódó rekordot is törli. Ha azonban egy kapcsolat "több" oldalán töröl rekordokat, általában nem törli az "egy" oldalon található rekordokat.

Emellett az Access automatikusan érvényesíti a hivatkozási integritásnak nevezett szabályok készletét. Ezek a szabályok biztosítják, hogy az adatbázisban az idegen kulcsok a megfelelő értékeket tartalmazzák. Az idegen kulcs olyan oszlop, amelynek értékei megegyeznek egy másik tábla elsődlegeskulcs-oszlopában lévő értékekkel.

Kapcsolat szerkesztése

Ezeket a lépéseket csak akkor hajtsa végre, ha törölnie kell egy kapcsolat "egy" és "több" oldalán található adatokat.

  1. Kattintson az Adatbáziseszközök lap Kapcsolatok csoportjában a Kapcsolatok gombra.

  2. Kattintson a jobb gombbal a törlési műveletben érintett táblákat összekötő kapcsolatra (vonalra), majd kattintson a helyi menü Kapcsolat szerkesztése parancsára.

  3. A Kapcsolatok szerkesztése párbeszédpanelen győződjön meg arról, hogy be van jelölve a Hivatkozási integritás megőrzése jelölőnégyzet.

  4. Jelölje be a Kapcsolt rekordok kaszkádolt törlése jelölőnégyzetet.

    Megjegyzés: Amíg ismét le nem tiltja ezt a tulajdonságot, a kapcsolat "egy" oldalán található rekord törlése törli a kapcsolat "több" oldalán található összes kapcsolódó rekordot.

  5. Kattintson az OK gombra,zárja be a Kapcsolatok ablaktáblát, majd a következő lépéskészletre lép.

Kapcsolat törlése

  1. Ha még nem tette meg, nyissa meg a Kapcsolatok ablaktáblát.

  2. 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ítsa a kapcsolatot.

  3. Kattintson a jobb gombbal a törlési műveletben érintett táblákat összekötő kapcsolatra (vonalra), majd kattintson a helyi menü Törlés parancsára.

Megjegyzés: A kapcsolat visszaállításához az előző lépéseket követve nyissa meg a Kapcsolatok ablaktáblát, majd húzza az elsődlegeskulcs-mezőt az "egy" táblából, és húzza a "több" tábla idegenkulcs-mezőjébe. Megjelenik a Kapcsolat szerkesztése párbeszédpanel. Ha a régi kapcsolat érvényesíti a hivatkozási integritást, válassza a Hivatkozási integritás megőrzése lehetőséget,majd kattintson a Létrehozás gombra. Ellenkező esetben csak kattintson a Létrehozás gombra.

Vissza a lap tetejére

Minta feltétel választó lekérdezésekhez

Az alábbi táblázat néhány olyan minta feltételt sorol fel, amelyek akkor használhatók választó lekérdezésekben, ha csak a törölni kívánt adatokat szeretné törölni. A példák némelyike 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 kifejezést.

>= "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 #

2010. február 2. és 2010. december 1. között (ANSI-89) származó dátumokat ad eredményül. Ha az adatbázis ANSI-92 helyettesítő karaktereket használ, kettős kereszt (#) helyett használjon aposztrófokat ('). 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, százalékjelet (%) használjon a csillag (*) helyett.

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]*"

A Szöveg mezőben minden olyan rekordot megtalál, amely A-D betűvel kezdődik. Ha az adatbázis ANSI-92 helyettesítő karakterekre van beállítva, használja a százalékjelet (%) a csillag (*) helyett.

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 helyettesítő karakterekre van beállítva, a kérdőjel (?) helyett használjon aláhúzásjelet (_).

#2/2/2010 #

Megkeresi a 2010. február 2. összes rekordot. Ha az adatbázis ANSI-92 helyettesítő karakterekre van beállítva, a dátumot kettős keresztek ('2010.02.02.) helyett aposztrófok közé kell tenni.

< 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 visszaadja a mai dátum és a mai dátumtól három hónap közötti összes rekordot.

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 tartalmaz egy értéket (amely nem null).

""

Visszaadja a nulla hosszúságú karakterláncot tartalmazó összes rekordot. Nulla hosszúságú karakterláncokat kell használnia, ha egy kötelező mezőben értéket kell hozzáadnia, de még nem tudja, hogy mi a tényleges érték. Előfordulhat például, hogy egy mezőben faxszámra van szükség, de néhány ügyfélnek nincs faxkészüléke. Ebben az esetben a szám beírása helyett dupla idézőjelpárot kell beírnia, és nem kell közéjük szóközt tenni ("").

Vissza a lap tetejére

Hibaelhárítási tanácsok

Miért jelenik meg ez a hibaüzenet, és hogyan háríthatom el?

Ha több táblát használva hoz létre delete lekérdezést, és a lekérdezés Egyedi rekordok tulajdonsága Nemértékre van állítva, az Access megjeleníti a hibaüzenetet; A lekérdezés futtatásakor nem lehetett törölni a megadott táblákat.

A hiba elhárításához állítsa a lekérdezés Egyedi rekordok tulajdonságát Igen értékre.

  1. Nyissa meg a törlő lekérdezést Tervező nézetben.

  2. Ha nem nyílik meg a lekérdezés tulajdonságlapja, akkor nyissa meg az F4 billentyű lenyomásával.

  3. A lekérdezéstervezőre kattintva jelenítse meg a lekérdezés tulajdonságait (a mezők tulajdonságai helyett).

  4. 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, amelyet nem megbízhatónak választott, vagy amely nem megbízható helyen található, az Access letiltja az összes műveletlekérdezések 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.

Ha megjelenik ez az üzenet, a következő lépésekkel engedélyezheti a letiltott tartalmat:

  • A Biztonsági figyelmeztetés üzenetsávon kattintson a Tartalom engedélyezéseelemre, és futtassa újra a lekérdezést.

Vissza a lap tetejére

További segítségre van szüksége?

Office-jártasság bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

×