W tym artykule wyjaśniono, jak utworzyć i uruchomić zapytanie dołączające. Zapytanie dołączające umożliwia dodanie nowych rekordów do istniejącej tabeli przy użyciu danych z innych źródeł.
Jeśli chcesz zmienić dane w istniejącym zbiorze rekordów, na przykład zaktualizować wartość pola, możesz użyć zapytania aktualizującego. Jeśli chcesz utworzyć nową tabelę na podstawie wybranych danych lub połączyć dwie tabele w jedną nową tabelę, możesz użyć zapytania tworzącego tabelę. Aby uzyskać więcej informacji na temat zapytań aktualizujących lub tworzących tabelę albo zapoznać się z ogólnymi informacjami na temat różnych sposobów dodawania rekordów do bazy danych lub modyfikowania istniejących danych, zobacz sekcję Zobacz też.
W tym artykule
Omówienie
Zapytanie dołączające umożliwia wybranie rekordów z co najmniej jednego źródła danych i skopiowanie ich do istniejącej tabeli.
Załóżmy na przykład, że otrzymujesz bazę danych z tabelą zawierającą dane potencjalnych nowych klientów, a w Twojej istniejącej bazie danych znajduje się już tabela z podobnymi danymi. Chcesz przechowywać te dane w jednym miejscu, więc postanawiasz skopiować dane z nowej bazy danych do istniejącej tabeli. Aby uniknąć ręcznego wprowadzania nowych danych, możesz skopiować rekordy za pomocą zapytania dołączającego.
Zalety korzystania z zapytania dołączającego
Kopiowanie danych za pomocą zapytania umożliwia:
-
Dołączanie wielu rekordów w jednej operacji Przy ręcznym kopiowaniu danych wymagane jest zazwyczaj wielokrotne powtarzanie operacji kopiowania/wklejania. W przypadku użycia zapytania można wybrać wszystkie dane równocześnie, a następnie je skopiować.
-
Sprawdzanie wybranych danych przed skopiowaniem Wybrane dane można wyświetlić w widoku arkusza danych i w razie potrzeby dostosować wybór przed skopiowaniem danych. Może to być szczególnie przydatne, gdy zapytanie zawiera kryteria lub wyrażenia i wymagane jest podjęcie kilku prób przed uzyskaniem pożądanego wyniku. Dołączenia danych przy użyciu zapytania nie można cofnąć. W przypadku pomyłki konieczne jest przywrócenie bazy danych z kopii zapasowej lub skorygowanie błędu — ręcznie bądź przy użyciu zapytania usuwającego.
-
Uściślanie wyboru za pomocą kryteriów Można na przykład dołączyć wyłącznie rekordy klientów mieszkających w określonym mieście.
-
Dodawanie rekordów, gdy niektóre pola w źródłach danych nie istnieją w tabeli docelowej Załóżmy na przykład, że istnieje tabela klientów z jedenastoma polami, a nowa tabela z danymi do skopiowania zawiera jedynie dziewięć z tych jedenastu pól. Można skopiować dane z tych dziewięciu pasujących pól za pomocą zapytania dołączającego, a dwa pozostałe pola pozostawić puste.
Podstawowe kroki tworzenia zapytania dołączającego
Proces tworzenia zapytania dołączającego ma następujące podstawowe etapy:
-
Utworzenie zapytania wybierającego Zacznij od zaznaczenia danych, które chcesz skopiować. Możesz dostosowywać zapytanie wybierające i uruchamiać je tyle razy, ile potrzebujesz, aby upewnić się, że zostaną wybrane dokładnie te dane, które chcesz skopiować.
-
Przekonwertowanie zapytania wybierającego na zapytanie dołączające Po przygotowaniu wyboru należy zmienić typ zapytania, wybierając opcję Dołącz.
-
Wybranie pól docelowych dla poszczególnych kolumn zapytania wybierającego W niektórych przypadkach program Access automatycznie określa pola docelowe. Możesz dostosować pola docelowe lub wybrać je samodzielnie, jeśli program Access nie wybrał ich automatycznie.
-
Wyświetlenie podglądu i uruchomienie zapytania w celu dołączenia rekordów Przed dołączeniem rekordów możesz przejść do widoku arkusza danych, aby zobaczyć podgląd rekordów do dołączenia.
Ważne: Dołączenia danych przy użyciu zapytania nie można cofnąć. Rozważ utworzenie kopii zapasowej bazy danych lub tabeli docelowej.
Tworzenie i uruchamianie zapytania dołączającego
W tej sekcji
Krok 1. Tworzenie zapytania w celu wybrania rekordów do skopiowania
-
Otwórz bazę danych zawierającą rekordy do skopiowania.
-
Na karcie Tworzenie w grupie Zapytania kliknij pozycję Projekt zapytania.
-
Kliknij dwukrotnie tabele lub zapytania zawierające rekordy, które chcesz skopiować, a następnie kliknij przycisk Zamknij.
Tabele i zapytania są wyświetlane jako jedno lub kilka okien w projektancie zapytań. Każde okno zawiera pola należące do tabeli lub zapytania. Na tym rysunku przedstawiono typową tabelę w projektancie zapytań.
1. Tabela Zasoby przedstawiona w projektancie zapytań
2. Siatka projektu zapytania
-
Kliknij dwukrotnie każde pole, które chcesz dołączyć. Wybrane pola zostaną wyświetlone w wierszu Pole w siatce projektu zapytania.
Typy danych pól w tabeli źródłowej muszą być zgodne z typami danych pól w tabeli docelowej. Pola tekstowe są zgodne z większością innych typów pól. Pola liczbowe są zgodne jedynie z innymi polami liczbowymi. Można na przykład dołączyć liczby do pola tekstowego, lecz nie można dołączyć tekstu do pola liczbowego.
Możesz również użyć wyrażenia jako pola — na przykład =Date(), aby automatycznie zwrócić dzisiejszą datę — i możesz użyć wyrażeń z polami tabeli lub zapytania w siatce projektu, aby dostosować wybrane dane. Jeśli na przykład tabela docelowa zawiera pole, w którym jest przechowywany rok czterocyfrowy, a tabela źródłowa zawiera zwykłe pole daty/godziny, możesz użyć funkcji DatePart z polem źródłowym, aby wybrać tylko rok.
Aby szybko dodać wszystkie pola w tabeli, kliknij dwukrotnie gwiazdkę (*) u góry listy pól tabeli. Na poniższej lustracji pokazano siatkę projektu z dodanymi wszystkimi polami.
-
Można również opcjonalnie wprowadzić jedno lub więcej kryteriów w wierszu Kryteria siatki projektu. W poniższej tabeli przedstawiono przykładowe kryteria i wyjaśniono ich wpływ na zapytanie.
Kryteria
Wynik
> 234
Zwraca wszystkie liczby większe niż 234. Aby znaleźć wszystkie liczby mniejsze niż 234, należy użyć wyrażenia < 234.
>= "Dubicki"
Zwraca wszystkie rekordy od nazwiska Dubicki do końca alfabetu.
Between #2017-02-02# And #2017-12-01#
Zwraca daty od 2-lut-17 do 1-gru-17 (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 '2017-02-02' And '2017-01-12'.
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 są używane symbole wieloznaczne 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 typu Tekst znajduje wszystkie rekordy zaczynające się literami od A do D. Jeśli w bazie danych są używane symbole wieloznaczne 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 są używane symbole wieloznaczne 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 (co wskazuje znak zapytania). Jeśli w bazie danych są używane symbole wieloznaczne ANSI-92, należy użyć znaku podkreślenia (_) zamiast znaku zapytania.
#2017-02-02#
Znajduje wszystkie rekordy dla 2 lutego 2017 r. Jeśli w bazie danych są używane symbole wieloznaczne ANSI-92, należy ująć datę w cudzysłowy pojedyncze zamiast w znaki numeru (#). Przykład: '2017-02-02'.
< Date() - 30
Zwraca wszystkie daty sprzed ponad 30 dni.
Date()
Zwraca wszystkie rekordy zawierające dzisiejszą datę.
Between Date() And DateAdd("M";3;Date())
Zwraca wszystkie rekordy 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 jakąkolwiek wartość.
""
Zwraca wszystkie rekordy zawierające ciąg znaków o zerowej długości. Ciąg znaków o zerowej długości jest używany wtedy, gdy trzeba dodać wartość do wymaganego pola, lecz rzeczywista wartość nie jest jeszcze znana. Pole może na przykład wymagać numeru faksu, lecz niektórzy klienci mogą nie mieć faksu. W takim przypadku zamiast numeru należy wprowadzić dwa znaki podwójnego cudzysłowu bez spacji między nimi ("").
-
Na karcie Projekt zapytania w grupie Wyniki kliknij pozycję Uruchom .
-
Sprawdź, czy zapytanie zwróciło rekordy, które chcesz skopiować. Aby dodać lub usunąć pola z zapytania, wróć do widoku projektu i dodaj pola zgodnie z opisem w poprzednim kroku lub zaznacz niepożądane pola i naciśnij klawisz DELETE, aby usunąć je z zapytania.
Krok 2. Konwertowanie zapytania wybierającego na zapytanie dołączające
-
Na karcie Narzędzia główne w grupie Widok kliknij przycisk Widok, a następnie kliknij opcję Widok projektu.
-
Na karcie Projekt zapytania w grupie Typ zapytania kliknij pozycję Dołącz.
Zostanie wyświetlone okno dialogowe Dołączanie.
-
Następnie określ, czy rekordy mają zostać dołączone do tabeli w bieżącej bazie danych, czy w innej bazie danych.
Wykonaj jedną z następujących czynności:
-
W oknie dialogowym Dołączanie kliknij opcję Bieżąca baza danych, wybierz tabelę docelową w polu kombi Nazwa tabeli i kliknij przycisk OK.
— lub —
-
W oknie dialogowym Dołączanie kliknij opcję Inna baza danych.
-
W polu Nazwa pliku wprowadź lokalizację i nazwę pliku docelowej bazy danych.
-
W polu kombi Nazwa tabeli wprowadź nazwę tabeli docelowej, a następnie kliknij przycisk OK.
-
Krok 3. Wybieranie pól docelowych
Sposób wybierania pól docelowych zależy od sposobu utworzenia zapytania wybierającego w kroku 1.
Jeśli... |
Program Access... |
---|---|
Do zapytania dodano wszystkie pola z tabeli źródłowej |
Dodaje wszystkie pola w tabeli docelowej do wiersza Dołączanie do w siatce projektu |
Do zapytania dodano pojedyncze pola lub użyto wyrażeń, a nazwy pól w tabelach źródłowej i docelowej są zgodne |
Automatycznie dodaje zgodne pola docelowe do wiersza Dołączanie do w zapytaniu |
Dodano pojedyncze pola lub użyto wyrażeń, a dowolna z nazw w tabelach źródłowej i docelowej nie jest zgodna |
Dodaje zgodne pola, natomiast pola niegodne pozostawia puste |
Jeśli określone pola pozostaną puste, możesz kliknąć komórkę w wierszu Dołączanie do i wybrać pole docelowe.
Na poniższym rysunku przedstawiono sposób kliknięcia komórki w wierszu Dołączanie do i wybrania pola docelowego.
Uwaga: Jeśli pole docelowe pozostanie puste, zapytanie nie dołączy danych do tego pola.
Krok 4. Podgląd i uruchamianie zapytania dołączającego
-
Aby wyświetlić podgląd zmian, przełącz się do widoku arkusza danych.
Porada: Aby szybko przełączyć widoki, kliknij prawym przyciskiem myszy kartę w górnej części zapytania, a następnie kliknij wybrany widok.
-
Wróć do widoku projektu, a następnie kliknij pozycję Uruchom , aby dołączyć rekordy.
Uwaga: Uruchomienie kwerendy zwracającej dużą ilość danych może spowodować pojawienie się komunikatu o błędzie z informacją, że cofnięcie kwerendy nie będzie możliwe. Aby umożliwić przeprowadzenie kwerendy, należy spróbować zwiększyć ograniczenie segmentu pamięci do 3 MB.
Zatrzymywanie blokowania zapytania przez tryb wyłączony
Jeśli po próbie uruchomienia zapytania dołączającego wydaje się, że nic się nie dzieje, sprawdź, czy na pasku stanu programu Access jest wyświetlany następujący komunikat:
Akcja lub zdarzenie zostało zablokowane przez tryb wyłączony.
Aby rozwiązać ten problem, kliknij polecenie Włącz zawartość na pasku komunikatów w celu włączenia zapytania.
Uwaga: Włączenie zapytania dołączającego powoduje także włączenie całej zawartości bazy danych.
Jeśli nie widzisz paska komunikatów, może być ukryty. Możesz go wyświetlić, jeśli nie został również wyłączony. Jeśli pasek komunikatów został wyłączony, możesz go włączyć.
Zobacz też
Tworzenie i uruchamianie zapytania aktualizującego