Tworzenie i uruchamianie kwerendy usuwającej

Jeśli chcesz szybko usunąć dużą liczbę danych lub regularnie usuwać zestaw danych w bazie danych programu Access dla komputerów stacjonarnych, przydatne może być zapytanie wybierające lub aktualizujące, ponieważ umożliwia ono określenie kryteriów w celu szybkiego znalezienia i usunięcia danych. Używanie zapytania może być również czasem, ponieważ zapisanego zapytania można użyć ponownie.

Uwaga: Przed usunięciem danych lub uruchomieniem zapytania usuwającego należy upewnić się, że wykonano kopię zapasową bazy danych programu Access dla komputerów stacjonarnych.

Jeśli chcesz usunąć tylko kilka rekordów, zapytanie nie jest potrzebne. Wystarczy otworzyć tabelę w widoku arkusza danych, zaznaczyć pola (kolumny) lub rekordy (wiersze), które chcesz usunąć, a następnie nacisnąć klawisz DELETE.

Ważne: Informacje zawarte w tym artykule są przeznaczone tylko do baz danych dla komputerów stacjonarnych. W aplikacjach sieci Web programu Access nie można używać zapytań usuwanych ani aktualizujące.

W tym artykule

Wybieranie typu zapytania

Dane z bazy danych można usunąć za pomocą zapytania aktualizującego lub usunięcia. Wybierz zapytanie na podstawie szczegółów w poniższej tabeli:

Typ zapytania

Okoliczności użycia

Wyniki

Używanie zapytania usuwania

Aby jednocześnie usunąć całe rekordy (wiersze) z tabeli lub z dwóch powiązanych tabel.

Uwaga: Jeśli rekordy znajdują się po stronie "jeden" relacji jeden-do-wielu, przed uruchomieniem zapytania wybierającego usuwanie może być konieczne jej zmiana. Zobacz sekcję na temat usuwania danych z tabel pokrewnych.

Zapytania usuwają wszystkie dane z każdego pola, łącznie z wartością klucza, która powoduje, że rekord jest unikatowy

Używanie kwerendy aktualizującej

Aby usunąć poszczególne wartości pól z tabeli.

Ułatwia usuwanie wartości, aktualizując istniejące wartości na wartość null (czyli bez danych) lub ciąg znaków o zerowej długości (dwa znaki podwójnego cudzysłowu bez spacji między nimi).

Początek strony

Co należy sprawdzić przed usunięciem danych za pomocą zapytania

  • Upewnij się, że plik nie jest plikiem tylko do odczytu:

    1. Kliknij prawym przyciskiem myszy przycisk Start i kliknij polecenie Otwórz Eksploratora Windows.

    2. Kliknij prawym przyciskiem myszy plik bazy danych, a następnie kliknij polecenie Właściwości.

    3. Sprawdź, czy jest wybrany atrybut Tylko do odczytu.

  • Upewnij się, że masz uprawnienia niezbędne do usuwania rekordów z bazy danych. Jeśli nie masz pewności, skontaktuj się z administrator systemu lub projektantem bazy danych.

  • Upewnij się, że włączono zawartość w bazie danych. Domyślnie program Access blokuje wszystkie zapytania akcji (zapytania usuwane, aktualizujące i zapytania make-table), chyba że baza danych jest zaufana. Aby uzyskać informacje na temat ufania bazie danych, zobacz sekcję Zatrzymywanie blokowania zapytania przez tryb wyłączony.

  • Poproś innych użytkowników bazy danych o zamknięcie wszystkich tabel, formularzy, zapytań i raportów korzystających z danych, które chcesz usunąć. Pomaga to uniknąć naruszeń blokady.

  • Przed edytowaniem lub usuwaniem rekordów warto utworzyć kopię zapasową bazy danych na wypadek, gdy trzeba cofnąć wprowadzone zmiany.

Porada: Jeśli z bazą danych łączy się duża liczba użytkowników, może być konieczne zamknięcie bazy danych, a następnie jej ponowne otwarcie w trybie wyłączności.

Aby otworzyć bazę danych w trybie wyłączności

  1. Kliknij kartę Plik> Otwórz.

  2. Przejdź do bazy danych i wskaż ją, kliknij strzałkę obok przycisku Otwórz, a następnie kliknij pozycję Otwórz z wyłączności.

    Otwieranie pliku w trybie wyłączności

Sporządzanie kopii zapasowej bazy danych

  1. Kliknij kartę Plik, wskaż polecenie Zapisz jako.

  2. Kliknij pozycję Zapisz bazę danych jako,a następnie kliknij pozycję Kopii zapasowej bazy danych. Program Access zamknie oryginalny plik, utworzy kopię zapasową, a następnie ponownie otworzy oryginalny plik.

  3. Kliknij pozycję Zapisz jako, określ nazwę i lokalizację kopii zapasowej, a następnie kliknij przycisk Zapisz.

Uwaga: Jeśli korzystasz z bazy danych tylko do odczytu lub bazy danych utworzonej w poprzedniej wersji programu Access, może zostać wyświetlony komunikat, że nie można utworzyć kopii zapasowej bazy danych.

Aby przywrócić dane z kopii zapasowej, zamknij oryginalny plik i zmień jego nazwę, dzięki czemu będzie można użyć nazwy oryginalnej wersji dla kopii zapasowej. Przypisz nazwę oryginalnej wersji do kopii zapasowej, a następnie otwórz kopię zapasową w programie Access.

Używanie kwerendy usuwaącej

Aby utworzyć zapytanie usuwania, kliknij kartę Tworzenie, a następnie w grupie Zapytania kliknij pozycję Projekt zapytania. Kliknij dwukrotnie każdą tabelę, z której chcesz usunąć rekordy, a następnie kliknij przycisk Zamknij.

Tabela zostanie wyświetlona jako okno w górnej części siatki projektu zapytania. Na liście pól kliknij dwukrotnie gwiazdkę(*),aby dodać wszystkie pola tabeli do siatki projektu.

Używanie określonych kryteriów w zapytaniu usuwawcym

Ważne: Użyj kryteriów, aby zwrócić tylko rekordy, które chcesz usunąć. W przeciwnym razie zapytanie usuwa wszystkie rekordy w tabeli.

Kliknij dwukrotnie pole, które chcesz określić jako kryteria usuwania, wprowadź jedno z kryteriów w wierszu Kryteria projektanta zapytań, a następnie wyczyść pole wyboru Pokaż dla każdego pola kryteriów.

Przykład użycia tej opcji: Załóżmy, że chcesz usunąć wszystkie oczekujące zamówienia dla klienta. Aby znaleźć tylko te rekordy, należy dodać pola Identyfikator klienta i Data zamówienia do siatki projektu zapytania, a następnie wprowadzić numer identyfikacyjny klienta oraz datę, od której zamówienia tego klienta stały się nieważne.

  1. Na karcie Projektowanie kliknij pozycję Widok > Widok arkusza danych.

  2. Sprawdź, czy zapytanie zwraca rekordy, które chcesz usunąć, a następnie naciśnij klawisze CTRL+S, aby zapisać zapytanie.

  3. Aby uruchomić zapytanie, kliknij dwukrotnie zapytanie w okienku nawigacji.

Początek strony

Korzystanie z kwerendy aktualizującej

Uwaga: W aplikacji sieci Web programu Access nie można użyć opcji zapytania aktualizującego.

W tej sekcji wyjaśniono, jak za pomocą kwerendy aktualizującej usunąć poszczególne pola z tabel. Pamiętaj, że uruchomienie kwerendy aktualizującej w celu usunięcia danych spowoduje zmianę istniejących wartości na CIĄG NULL lub ciąg znaków o zerowej długości (dwa znaki podwójnego cudzysłowu bez spacji między), w zależności od określonych kryteriów.

  1. Kliknij kartę Tworzenie, a następnie w grupie Zapytania kliknij pozycję Projekt kwerendy.

  2. Zaznacz tabelę z danymi, które chcesz usunąć (jeśli tabela jest powiązana, zaznacz tabelę po stronie "jeden" relacji), kliknij przycisk Dodaj,a następnie kliknij przycisk Zamknij.

    Tabela zostanie wyświetlona jako okno w górnej części siatki projektu zapytania. To okno zawiera listę wszystkich pól z wybranej tabeli.

  3. Kliknij dwukrotnie gwiazdkę (*), aby dodać wszystkie pola tabeli do siatki projektu. Dodanie wszystkich pól tabeli umożliwia zapytaniu wybierającemu usuwanie całych rekordów (wierszy) z tabeli.

    Opcjonalnie możesz wprowadzić kryteria dla jednego lub większej liczby pól w wierszu Kryteria projektanta, a następnie wyczyścić pole wyboru Pokaż dla każdego pola kryterium. Aby uzyskać więcej informacji na temat używania kryteriów, zobacz tabelę Przykładowe kryteria zapytań zaznaczania.

    Uwaga: Kryterium umożliwia zwrócenie tylko tych rekordów, które chcesz zmienić. W przeciwnym razie zapytanie aktualizujące ustawia wartość NULL dla każdego rekordu we wszystkich polach w zapytaniu.

  4. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Widok, a następnie kliknij pozycję Widok arkusza danych.

  5. Sprawdź, czy zapytanie zwraca rekordy, które chcesz ustawić na wartość NULL lub ciąg znaków o zerowej długości (dwa znaki podwójnego cudzysłowu bez spacji między nimi ("").

  6. W razie potrzeby powtórz kroki od 3 do 5 i zmień pola lub kryteria, aż zapytanie zwróci tylko te dane, które chcesz usunąć, a następnie naciśnij klawisze CTRL+S, aby zapisać zapytanie.

  7. Aby uruchomić zapytanie, kliknij dwukrotnie zapytanie w okienku nawigacji.

Początek strony

Informacje dodatkowe

Usuwanie danych z tabel pokrewnych

Aby usunąć dane z kilku powiązanych tabel, należy włączyć opcje Więzy integralności i Kaskadowo usuń rekordy pokrewne dla każdej relacji. Umożliwia to zapytaniu usuwanie danych z tabel po stronach "jeden" i "wiele" relacji. Przygotowanie się do usunięcia powiązanych danych wymaga weryfikacji następujących elementów:

  • Określ, które rekordy znajdują się po stronie "jeden" relacji, a które znajdują się po stronie "wiele".

  • Jeśli chcesz usunąć rekordy po stronie "jeden" relacji i powiązane rekordy po stronie "wiele", włącz zestaw reguł o nazwie Więzy integralności i włącz usuwanie kaskadowe. W tej sekcji opisano więzy integralności oraz sposób wykonywania obu tych zadań.

  • Jeśli chcesz usunąć rekordy tylko po stronie "jeden" relacji, najpierw usuniesz tę relację, a następnie usuniesz dane.

Jeśli chcesz usunąć dane tylko po stronie "wiele" relacji, możesz utworzyć i uruchomić zapytanie wybierające bez konieczności zmieniania relacji.

Aby dowiedzieć się, które rekordy znajdują się na stronach "jeden" i "wiele" relacji, na karcie Narzędzia bazy danych w grupie Relacje kliknij pozycję Relacje. Na karcie Relacje są wyświetlane tabele w bazie danych i relacje. Każda relacja jest przedstawiona jako linia łącząca tabele między polami.

Na poniższej ilustracji przedstawiono typową relację. Większość (jeśli nie wszystkie) relacji w bazie danych ma stronę "jeden" i stronę "wiele". Na diagramie relacji strona "jeden" jest oznaczana cyfrą jeden(1)i stroną "wiele" z symbolem nieskończoności(∞).

Relacja między dwiema tabelami

Usunięcie rekordów po stronie "jeden" relacji powoduje również usunięcie wszystkich rekordów pokrewnych po stronie "wiele" relacji. Jednak usunięcie rekordów po stronie "wiele" relacji zwykle nie powoduje usunięcia rekordów po stronie "jeden".

Ponadto program Access automatycznie wymusza zestaw reguł nazywanych więzami integralności. Te reguły zapewniają, że klucze obce w bazie danych zawierają prawidłowe wartości. Klucz obcy to kolumna, której wartości są zgodne z wartościami w kolumnie klucza podstawowego innej tabeli.

Edytowanie relacji

Wykonaj poniższe czynności tylko wtedy, gdy chcesz usunąć dane z "jeden" i "wielu" stron relacji.

  1. Na karcie Narzędzia bazy danych w grupie Relacje kliknij pozycję Relacje.

  2. Kliknij prawym przyciskiem myszy relację (linię) łączącą tabele, których dotyczy operacja usunięcia, a następnie w menu skrótów kliknij polecenie Edytuj relację.

  3. W oknie dialogowym Edytowanie relacji upewnij się, że jest zaznaczone pole wyboru Wymuszaj więzy integralności.

  4. Zaznacz pole wyboru Kaskadowo usuń rekordy pokrewne.

    Uwaga: Do czasu wyłączenia tej właściwości usunięcie rekordu po stronie "jeden" relacji spowoduje usunięcie wszystkich rekordów pokrewnych po stronie "wiele" relacji.

  5. Kliknij przycisk OK,zamknij okienko Relacje, a następnie przejdź do następnego zestawu kroków.

Usuwanie relacji

  1. Jeśli jeszcze tego nie zrobiono, otwórz okienko Relacje.

  2. Na karcie Narzędzia bazy danych w grupie Relacje kliknij pozycję Relacje.

    Zanotuj pola związane z relacją, aby można było przywrócić relację po usunięciu danych.

  3. Kliknij prawym przyciskiem myszy relację (linię) łączącą tabele, których dotyczy operacja usunięcia, a następnie w menu skrótów kliknij polecenie Usuń.

Uwaga: Aby przywrócić relację, wykonaj poprzednie czynności w celu otwarcia okienka Relacje, a następnie przeciągnij pole klucza podstawowego z tabeli "jeden" i upuść je w polu klucza obcego tabeli "wiele". Zostanie wyświetlone okno dialogowe Edytowanie relacji. Jeśli więzy integralności wymuszane przez starą relację, wybierz pozycję Wymuszaj więzy integralności,a następnie kliknij przycisk Utwórz. W przeciwnym razie po prostu kliknij pozycję Utwórz.

Początek strony

Przykładowe kryteria kwerend zaznaczania

W poniższej tabeli wymieniono przykładowe kryteria, których można używać w zapytaniach wybierających, jeśli chcesz usunąć tylko te dane, które chcesz usunąć. W niektórych z tych przykładów są stosowanie symboli wieloznacznych.

Kryteria

Wynik

> 234

Zwraca wszystkie liczby większe niż 234. Aby znaleźć wszystkie liczby mniejsze niż 234, należy użyć wyrażenia < 234.

>= "Cajhen"

Zwraca wszystkie rekordy od nazwiska Misztal do końca alfabetu.

Between #2/2/2010# And #12/1/2010 #

Zwraca daty od 2 lutego 2010 do 1 grudnia 2010 (ANSI-89). Jeśli w bazie danych są używane symbole wieloznaczne ANSI-92, należy użyć cudzysłowów pojedynczych (') zamiast znaków numeru (#). Przykład: Between '2010-02-02' And '2010-12-01'.

Not "Niemcy"

Znajduje wszystkie rekordy, w których dokładna zawartość pola nie jest równa „Niemcy”. Kryterium zwróci rekordy zawierające dodatkowe znaki oprócz wyrazu „Niemcy”, na przykład „Niemcy (euro)” lub „Europa (Niemcy)”.

Not "T*"

Znajduje wszystkie rekordy oprócz rekordów zaczynających się od litery T. Jeśli w bazie danych jest używany zestaw symboli wieloznacznych ANSI-92, należy użyć znaku procentu (%) zamiast gwiazdki (*).

Not "*t"

Znajduje wszystkie rekordy, które nie kończą się literą t. Jeśli w bazie danych jest używany zestaw symboli wieloznacznych ANSI-92, należy użyć znaku procentu (%) zamiast gwiazdki (*).

In(Kanada,USA)

Znajduje na liście wszystkie rekordy zawierające wyrazy Kanada lub USA.

Like "[A-D]*"

W polu tekstowym znajduje wszystkie rekordy, które zaczynają się od liter od A do D. Jeśli w bazie danych jest używany zestaw symboli wieloznacznych ANSI-92, należy użyć znaku procentu (%) zamiast gwiazdki (*).

Like "*ar*"

Znajduje wszystkie rekordy zawierające sekwencję liter „ar”. Jeśli w bazie danych jest używany zestaw symboli wieloznacznych ANSI-92, należy użyć znaku procentu (%) zamiast gwiazdki (*).

Like "Maison Dewe?"

Znajduje wszystkie rekordy, które zaczynają się od wyrazu „Maison” i zawierają drugi pięcioliterowy ciąg znaków, w którym pierwsze 4 litery to „Dewe”, a ostatnia litera jest nieznana. Jeśli w bazie danych jest używany zestaw symboli wieloznacznych ANSI-92, należy użyć znaku podkreślenia (_) zamiast znaku zapytania (?).

#2/2/2010 #

Znajduje wszystkie rekordy dla dnia 2 lutego 2010. Jeśli w bazie danych jest używany zestaw symboli wieloznacznych ANSI-92, ujmij datę w cudzysłowy pojedyncze zamiast w znaki tysięcy ('2010-02-02').

< Date() - 30

Zwraca wszystkie daty starsze niż 30 dni za pomocą funkcji Date.

Date()

Zwraca wszystkie rekordy zawierające dzisiejszą datę za pomocą funkcji Date.

Between Date() And DateAdd("M";3;Date())

Używa funkcji Date i DateAdd w celu zwrócenia wszystkich rekordów między dzisiejszą datą a datą o trzy miesiące późniejszą.

Is Null

Zwraca wszystkie rekordy zawierające wartość null (pustą lub niezdefiniowaną).

Is Not Null

Zwraca wszystkie rekordy zawierające dowolną wartość (która nie jest wartością null).

""

Zwraca wszystkie rekordy zawierające ciąg znaków o zerowej długości. Ciąg znaków o zerowej długości jest potrzebny, gdy trzeba dodać wartość do wymaganego pola, ale jeszcze nie wiesz, jaka jest rzeczywista wartość. Pole może na przykład wymagać numeru faksu, lecz niektórzy klienci mogą nie mieć faksu. W takim przypadku zamiast wprowadzać liczbę, należy wprowadzić dwa znaki podwójnego cudzysłowu bez spacji między nimi(").

Początek strony

Porady dotyczące rozwiązywania problemów

Dlaczego jest wyświetlany ten komunikat o błędzie i jak można poprawić ten błąd?

Jeśli tworzysz zapytanie usuwania przy użyciu wielu tabel, a właściwość Rekordy unikatowe dla zapytania jest ustawiona na wartość Nie,program Access wyświetli komunikat o błędzie. Nie można usunąć z określonych tabel po uruchomieniu zapytania.

Aby usunąć ten problem, należy ustawić właściwość Rekordy unikatowe zapytania na Tak.

  1. Otwórz zapytanie usuwające w widoku projektowania.

  2. Jeśli arkusz właściwości zapytania jest zamknięty, naciśnij klawisz F4, aby go otworzyć.

  3. Kliknij projektanta zapytań, aby wyświetlić właściwości zapytania (a nie właściwości pola).

  4. W arkuszu właściwości zapytania odszukaj właściwość Unikatowe rekordy i ustaw ją na Tak.

Zatrzymywanie blokowania zapytania przez tryb wyłączony

Domyślnie po otwarciu bazy danych dla komputerów stacjonarnych, która nie została wybrana jako zaufana lub która nie znajduje się w zaufanej lokalizacji, program Access blokuje uruchamianie wszystkich zapytań akcji.

Jeśli użytkownik próbuje uruchomić zapytanie funkcjonalne i wydaje się, że nic się nie dzieje, należy sprawdzić, czy na pasku stanu programu Access jest wyświetlany następujący komunikat:

Akcja lub zdarzenie zostało zablokowane przez tryb wyłączony.

Gdy ten komunikat zostanie wyświetlony, zrób tak, aby włączyć zablokowaną zawartość:

  • Na pasku komunikatów z ostrzeżeniem o zabezpieczeniach kliknij pozycję Włącz zawartośći ponownie uruchom zapytanie.

Początek strony

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jak zadowalająca jest jakość tłumaczenia?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×