Zapytania aktualizujące w bazach danych programu Access są używane w sytuacji, gdy trzeba dodać, zmienić lub usunąć informacje z istniejącego rekordu. Zapytania aktualizujące można traktować jako bardziej zaawansowaną formę okna dialogowego Znajdowanie i zamienianie. Za pomocą zapytania aktualizującego nie można dodawać nowych rekordów do bazy danych ani usuwać rekordów z bazy danych.
Do dodawania nowych rekordów do bazy danych służy kwerenda dołączająca, a do usuwania całych rekordów z bazy można użyć kwerendy usuwającej.
W tym artykule
Omówienie
Oto podobieństwa i różnice między oknem dialogowym Znajdowanie i zamienianie a kwerendą aktualizującą:
Podobnie do okna dialogowego Znajdowanie i zamienianie kwerenda aktualizująca umożliwia określenie wartości przeznaczonej do zamiany oraz nowej wartości.
W przeciwieństwie do okna dialogowego Znajdowanie i zamienianie kwerenda aktualizująca umożliwia:
-
używanie kryteriów niezależnych od wartości, która ma zostać zamieniona;
-
używanie dużej liczby rekordów w jednym przebiegu;
-
modyfikowanie rekordów w kilku tabelach równocześnie.
Ograniczenia dotyczące pól, które można aktualizować
Kwerendy aktualizującej nie można używać do aktualizacji danych znajdujących się w polach następujących typów:
-
Pola obliczeniowe Wartości w polach obliczeniowych nie są trwale zapisywane w tabelach. Po obliczeniu w programie Access te wartości są przechowywane tylko w pamięci tymczasowej komputera. Ponieważ pola obliczeniowe nie mają trwałej lokalizacji przechowywania, nie można ich aktualizować.
-
Pola będące wynikiem działania kwerendy podsumowującej lub kwerendy krzyżowej Wartości znajdujące się w polach tego typu są wynikiem obliczeń, dlatego nie można ich aktualizować przy użyciu kwerendy aktualizującej.
-
Pola typu Autonumerowanie Zgodnie z projektem wartości w polach Autonumerowanie zmieniają się tylko po dodaniu rekordu do tabeli.
-
Pola w kwerendach wartości unikatowych i w kwerendach rekordów unikatowych Wartości w tych kwerendach są sumowane. Niektóre z nich reprezentują pojedynczy rekord, a inne — kilka rekordów. Aktualizacja jest niemożliwa, ponieważ nie ma możliwości określenia, które rekordy zostały wykluczone jako duplikaty, przez co nie można zaktualizować wszystkich wymaganych rekordów. To ograniczenie dotyczy używania kwerendy aktualizującej lub próby ręcznej aktualizacji danych przez wprowadzenie wartości w formularzu lub arkuszu danych.
-
Pola w kwerendzie składającej Danych zawartych w polach kwerendy składającej nie można aktualizować, ponieważ każdy rekord występujący w dwóch lub w większej liczbie źródeł danych jest zwracany tylko jeden raz w wyniku działania tej kwerendy. Ponieważ niektóre zduplikowane rekordy są usuwane z wyników, program Access nie może zaktualizować wszystkich wymaganych rekordów.
-
Pola będące kluczami podstawowymi W niektórych przypadkach, na przykład w przypadku użycia pola klucza podstawowego w relacji między tabelami, nie można zaktualizować pola za pomocą kwerendy, dopóki w tej relacji nie zostanie ustawione automatyczne, kaskadowe wprowadzanie aktualizacji.
: W przypadku aktualizacji kaskadowych program Access automatycznie aktualizuje wartości klucza obcego po zmianie wartości klucza podstawowego w tabeli nadrzędnej.
Korzystanie z kwerendy aktualizującej
Podczas tworzenia kwerendy aktualizującej zaleca się utworzenie w pierwszej kolejności kwerendy wybierającej, określającej rekordy przeznaczone do aktualizacji, a następnie przekonwertowanie jej na kwerendę aktualizującą, którą można uruchomić w celu zaktualizowania rekordów. Wybierając najpierw dane przed ich zmodyfikowaniem, można upewnić się, że zaktualizowane zostaną odpowiednie rekordy.
: Przed uruchomieniem kwerendy aktualizującej należy wykonać kopię zapasową bazy danych. Wyników działania kwerendy aktualizującej nie można cofnąć, a utworzenie kopii zapasowej pozwoli odwrócić zmiany w razie potrzeby.
Jak utworzyć kopię zapasową bazy danych
-
Kliknij kartę Plik, a następnie kliknij polecenie Zapisz jako.
-
Po prawej stronie, w sekcji Zaawansowane kliknij polecenie Wykonaj kopię zapasową bazy danych.
-
W oknie dialogowym Zapisywanie kopii zapasowej jako określ nazwę i lokalizację kopii zapasowej, a następnie kliknij przycisk Zapisz.
Program Access zamknie oryginalny plik, utworzy kopię zapasową, a następnie ponownie otworzy oryginalny plik.
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.
W tej sekcji
Krok 1. Tworzenie kwerendy wybierającej w celu określenia rekordów do zaktualizowania
-
Otwórz bazę danych zawierającą rekordy, które chcesz zaktualizować.
-
Na karcie Tworzenie w grupie Zapytania kliknij pozycję Projekt zapytania.
-
Kliknij kartę Tabele.
-
Zaznacz tabelę lub tabele z rekordami do zaktualizowania, kliknij przycisk Dodaj, a następnie kliknij przycisk Zamknij.
Tabela lub tabele pojawią się w projektancie kwerend, przy czym w oknie zostaną wyświetlone wszystkie pola poszczególnych tabel. Na rysunku pokazano typową tabelę w projektancie kwerend.
1. Tabela przedstawiona w projektancie kwerend
2. Siatka projektu kwerendy
-
Kliknij dwukrotnie pola, które chcesz zaktualizować w oknach tabel. Wybrane pola zostaną wyświetlone w wierszu Pole w siatce projektu kwerendy.
Można dodawać po jednym polu na kolumnę siatki projektu kwerendy.
Aby szybko dodać wszystkie pola w tabeli, kliknij dwukrotnie gwiazdkę (*) u góry listy pól w oknie tabeli. Na poniższym rysunku pokazano siatkę projektu kwerendy z dodanymi wszystkimi polami.
-
Aby ograniczyć wyniki kwerendy na podstawie wartości pól, w siatce projektu kwerendy w wierszu Kryteria wprowadź odpowiednie kryteria ograniczające.
Tabela przykładowych kryteriów
W poniższej tabeli pokazano przykładowe kryteria i wyjaśniono ich wpływ na wyniki kwerendy.
: W wielu przykładach w tej tabeli zastosowano symbole wieloznaczne, które zwiększają elastyczność i możliwości kwerend.
Kryteria
Wynik
>234
Zwraca wszystkie liczby większe niż 234. Aby znaleźć wszystkie liczby mniejsze niż 234, należy użyć wyrażenia < 234.
>= "Misztal"
Zwraca wszystkie rekordy od nazwiska Misztal do końca alfabetu.
Between #2020-02-02# And #2020-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 '2020-02-02' And '2020-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 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 typu Tekst znajduje wszystkie rekordy zaczynające się od liter z zakresu 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/2020#
Znajduje wszystkie rekordy z dnia 2 lutego 2020 r. Jeśli w bazie danych jest używany zestaw symboli wieloznacznych ANSI-92, należy ująć datę w cudzysłowy pojedyncze (') zamiast w znaki numeru (#). na przykład ('2020-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())
Zwraca wszystkie rekordy między dzisiejszą datą a datą późniejszą o trzy miesiące za pomocą funkcji Date i DateAdd.
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 przycisk Uruchom.
-
Sprawdź, czy kwerenda zwraca rekordy, które chcesz zaktualizować.
-
Aby usunąć pola, które nie mają zostać uwzględnione w projekcie kwerendy, zaznacz je i naciśnij klawisz DELETE.
-
Aby dodać pola do projektu kwerendy, przeciągnij dodatkowe pola na siatkę projektu kwerendy.
Krok 2. Aktualizowanie rekordów
-
Na karcie Projekt zapytania w grupie Typ zapytania kliknij przycisk Aktualizuj.
W tej procedurze przedstawiono, jak zmienić kwerendę wybierającą na aktualizującą. Po wykonaniu tych czynności program Access doda wiersz Aktualizacja do w siatce projektu kwerendy. Na poniższej ilustracji przedstawiono kwerendę aktualizującą, która zwraca wszystkie składniki majątku zakupione po 5 stycznia 2005 i zmienia lokalizację na „Magazyn 3” dla wszystkich rekordów spełniających ten warunek.
-
Zlokalizuj pole zawierające dane, które chcesz zmienić, a następnie wpisz wyrażenie (kryteria zmiany) w wierszu Aktualizacja do dla tego pola.
W wierszu Aktualizacja do można użyć dowolnych prawidłowych wyrażeń.
Tabela przykładowych wyrażeń
W poniższej tabeli pokazano kilka przykładowych wyrażeń i wyjaśniono, w jaki sposób zmieniają one dane.
Wyrażenie
Wynik
"Sprzedawca"
W polu Krótki tekst zmienia wartość tekstową na wartość Sprzedawca.
#8/10/20#
W polu Typu data/godzina zmienia wartość daty na 10-sie-20.
Tak
W polu typu Tak/Nie zmienia wartość Nie na wartość Tak.
"NC" & [NumerCzęści]
Dodaje oznaczenie „NC” na początku każdego określanego numeru części.
[CenaJednostkowa] * [Ilość]
Mnoży wartości w polach o nazwach CenaJednostkowa i Ilość.
[Fracht] * 1,5
Zwiększa wartości w polu o nazwie Fracht o 50 procent.
DSum("[Ilość] * [CenaJednastkowa]",
"Szczegóły zamówienia", "[IdentyfikatorProduktu]=" & [IdentyfikatorProduktu])Jeśli wartości identyfikatorów produktów w bieżącej tabeli odpowiadają wartościom identyfikatorów produktów w tabeli o nazwie Szczegóły zamówień, to wyrażenie aktualizuje sumy sprzedaży, mnożąc wartości w polu o nazwie Ilość przez wartości w polu o nazwie CenaJednostkowa. W wyrażeniu jest używana funkcja DSum, ponieważ może ona działać na wielu tabelach i polach tabeli.
Right([KodPocztowyOdbiorcy];5)
Obcina (usuwa) skrajne lewe znaki w ciągu tekstowym lub liczbowym i pozostawia pięć skrajnych prawych znaków.
IIf(IsNull([CenaJednostkowa]);0;[CenaJednostkowa])
Zmienia wartość Null (wartość nieznaną lub niezdefiniowaną) na wartość zero (0) w polu o nazwie CenaJednostkowa.
-
Na karcie Projekt zapytania w grupie Wyniki kliknij przycisk Uruchom.
Zostanie wyświetlony komunikat alertu.
-
Kliknij przycisk Tak, aby uruchomić kwerendę i zaktualizować dane.
: Po uruchomieniu kwerendy można niekiedy zauważyć brak niektórych pól w zestawie wyników. Jeśli kwerenda zawiera pola, które nie są aktualizowane, program Access domyślnie nie wyświetla tych pól w wynikach. Użytkownik mógł na przykład dołączyć pola identyfikatorów z dwóch tabel, aby zagwarantować, że kwerenda zidentyfikuje i zaktualizuje właściwe rekordy. Jeśli te pola nie są aktualizowane, program Access nie wyświetla ich w wynikach.
Aktualizowanie danych między tabelami
Podczas aktualizacji danych między tabelami należy pamiętać o następującej zasadzie: typy danych pól źródłowych i docelowych muszą do siebie pasować lub być ze sobą zgodne.
W przypadku aktualizacji danych między tabelami i używania zgodnych (zamiast pasujących) typów danych program Access konwertuje typy danych tych pól w tabeli docelowej. Z tego powodu niektóre dane w polach docelowych mogą być obcinane (usuwane). W sekcji Ograniczenia dotyczące konwersji typów danych znajduje się lista dozwolonych i niedozwolonych sposobów konwersji danych. W tabeli w tej sekcji znajduje się także opis sytuacji, w których konwersja jednego typu danych może zmienić lub usunąć niektóre lub wszystkie dane w polu, a także informacje o tym, które dane mogą zostać usunięte.
Proces aktualizacji danych między tabelami obejmuje następujące ogólne kroki:
-
Tworzenie kwerendy aktualizującej i dodawanie do niej tabeli źródłowej i docelowej.
-
Łączenie tych tabel za pomocą pól, które zawierają pokrewne informacje.
-
Dodawanie nazw pól docelowych w wierszu Pole w siatce projektu kwerendy.
-
Dodawanie nazw pól źródłowych w wierszu Aktualizacja do w siatce projektu kwerendy przy użyciu następującej składni: [tabela_źródłowa].[pole_źródłowe].
W procedurze opisanej w tej sekcji założono, że są używane dwie podobne tabele. W tym przykładzie tabela Klienci znajduje się w odziedziczonej bazie danych, która zawiera nowsze dane niż tabela Kontrahenci. Jak widać, niektóre nazwiska i adresy kierowników uległy zmianie. Z tego powodu należy zaktualizować tabelę Kontrahenci danymi z tabeli Klienci.
Tabela Klienci
Identyfikator klienta |
Nazwa |
Adres |
Miasto |
Województwo |
Kod pocztowy |
Kraj/region |
Telefon |
Kontakt |
---|---|---|---|---|---|---|---|---|
1 |
Firma A |
ul. Klonowa 15 |
Szczecin |
Zachodniopomorskie |
12345 |
Polska |
(012) 34-56-789 |
Tomasz Bochenek |
2 |
Firma B |
ul. Studzińskiego 52 |
Pruszków |
Mazowieckie |
23456 |
Polska |
(012) 34-56-780 |
Ewa Ciesielska |
3 |
Coho Winery |
ul. Niezapominajki 75 |
Poznań |
Wielkopolskie |
34567 |
Polska |
(123) 45-67-891 |
Dariusz Korzun |
4 |
Firma D |
ul. Złota 1 |
Kraków |
Małopolskie |
09-876 |
Polska |
(012) 34-56-782 |
Marek Rolecki |
5 |
Firma E |
ul. Kosmonautów 2 |
Gdańsk |
56789 |
Polska |
(012) 34-56-783 |
Marcin Kretowicz |
|
6 |
Firma F |
ul. Astronautów 31 |
Wronki |
Wielkopolskie |
34567 |
Polska |
(012) 34-56-784 |
Jacek Maśliński |
7 |
Firma G |
Truskawkowa 5 |
Rzeszów |
Podkarpackie |
87654 |
Polska |
(012) 34-56-785 |
Roman Stachnio |
8 |
Firma H |
ul. Microsoft 3 |
Białystok |
Podlaskie |
31415 |
Polska |
(012) 34-56-789 |
Beata Sapieżyńska |
9 |
Firma I |
ul. Microsoft 4 |
Białystok |
Podlaskie |
31415 |
Polska |
(012) 34-56-780 |
Jacek Myrcha |
Tabela Kontrahenci
Identyfikator kontrahenta |
Nazwa |
Adres |
Miasto |
Województwo |
Kod pocztowy |
Kraj lub region |
Telefon |
Kierownik |
---|---|---|---|---|---|---|---|---|
1 |
Firma A |
ul. Klonowa 15 |
Szczecin |
Zachodniopomorskie |
12345 |
Polska |
(012) 34-56-788 |
Wojciech Czupta |
2 |
Firma B |
ul. Studzińskiego 52 |
Pruszków |
Mazowieckie |
23456 |
Polska |
(012) 34-56-780 |
Ewa Ciesielska |
3 |
Coho Winery |
ul. Niezapominajki 75 |
Poznań |
Wielkopolskie |
34567 |
Polska |
(123) 45-67-891 |
Dariusz Korzun |
4 |
Firma D |
ul. Złota 1 |
Kraków |
Małopolskie |
09-876 |
Polska |
(012) 34-56-782 |
Marek Rolecki |
5 |
Firma E |
ul. Kosmonautów 2 |
Gdańsk |
56789 |
Polska |
(012) 34-56-783 |
Marcin Kretowicz |
|
6 |
Firma F |
ul. Astronautów 31 |
Wronki |
Wielkopolskie |
34567 |
Polska |
(012) 34-56-789 |
Aneta Olecka |
7 |
Firma G |
ul. Fistaszkowa 67 |
Rzeszów |
Podkarpackie |
87654 |
Polska |
(012) 34-56-789 |
Aneta Wiśniewska |
8 |
Firma H |
ul. Microsoft 3 |
Białystok |
Podlaskie |
31415 |
Polska |
(012) 34-56-789 |
Tomasz Bator |
9 |
Firma I |
ul. Microsoft 4 |
Białystok |
Podlaskie |
31415 |
Polska |
(012) 34-56-780 |
Jacek Myrcha |
Podczas wykonywania czynności opisanych w tym artykule należy pamiętać, że chociaż typy danych dla każdego pola tabeli nie muszą do siebie pasować, jednak muszą być zgodne. Program Access musi mieć możliwość przekonwertowania danych w tabeli źródłowej na typ, którego może używać tabela docelowa. W niektórych przypadkach w wyniku procesu konwersji część danych może zostać usunięta. Więcej informacji o ograniczeniach konwertowania typów danych można znaleźć w sekcji Ograniczenia dotyczące konwersji typów danych.
Tworzenie i uruchamianie kwerendy aktualizującej
: W poniższej procedurze założono, że są używane poprzednie tabele przykładowe. Procedurę można dostosować zależnie od używanych danych.
-
Na karcie Tworzenie w grupie Zapytania kliknij pozycję Projekt zapytania.
-
Wybierz pozycję Dodaj tabele.
-
Kliknij dwukrotnie tabele źródłowe i docelowe, aby dodać je do zapytania. Obie tabele zostaną wyświetlone w oknie w projektancie kwerend.
-
W większości przypadków program Access automatycznie tworzy sprzężenia między pokrewnymi polami w kwerendzie. Aby ręcznie utworzyć sprzężenia pól zawierających pokrewne dane, przeciągnij pokrewne pole z jednej tabeli do odpowiedniego pola w drugiej tabeli.
W przypadku powyższych przykładowych tabel można na przykład przeciągnąć pole Identyfikator klienta w pierwszej tabeli na pole Identyfikator kontrahenta w drugiej tabeli. Program Access utworzy relację między tymi polami w obu tabelach i utworzy sprzężenie między rekordami.
-
Na karcie Projekt zapytania w grupie Typ zapytania kliknij przycisk Aktualizuj.
-
W tabeli docelowej kliknij dwukrotnie pola, które chcesz zaktualizować. Każde pole zostanie wyświetlone w wierszu Pole w siatce projektu kwerendy.
W przypadku przykładowych tabel można dodać wszystkie pola z wyjątkiem pola Identyfikator kontrahenta. Warto zauważyć, że nazwa tabeli docelowej jest wyświetlana w wierszu Tabela w siatce projektu.
-
W wierszu Aktualizacja do kwerendy w każdej kolumnie, która zawiera pole docelowe, dodaj nazwę tabeli źródłowej oraz pole w tabeli źródłowej, które odpowiada polu w tabeli docelowej. Upewnij się, że użyto składni [Tabela].[Pole], gdzie nazwy tabel i pól znajdują się w nawiasach kwadratowych i są rozdzielone kropką.
Na rysunku pokazano część siatki projektu dla przykładowych tabel. Warto zwrócić uwagę na składnię nazw tabel i pól w wierszu Aktualizacja do.
Podczas wykonywania kroków opisanych w tej sekcji należy pamiętać, że nazwy tabel i pól w wierszu Aktualizacja do muszą zostać wpisane zgodnie ze znakami interpunkcyjnymi oryginalnych nazw tabeli pól. Nie trzeba uwzględniać wielkości liter.
-
Na karcie Projekt zapytania w grupie Wyniki kliknij przycisk Uruchom.
-
W odpowiedzi na pytanie o potwierdzenie aktualizacji kliknij przycisk Tak.
Ograniczenia dotyczące konwersji typów danych
W poniższej tabeli wymieniono typy danych dostępne w programie Access, wyjaśniono wszystkie ograniczenia dotyczące konwertowania typów danych, a także pokrótce opisano ewentualne dane, które mogą zostać utracone podczas konwersji.
Konwersja na ten typ |
Z tego typu |
Zmiany lub ograniczenia |
---|---|---|
Krótki tekst |
Długi tekst |
Program Access usuwa wszystkie znaki oprócz pierwszych 255 znaków. |
Liczba |
Bez ograniczeń. |
|
Data/Godzina |
Bez ograniczeń. |
|
Waluta |
Bez ograniczeń. |
|
Autonumerowanie |
Bez ograniczeń. |
|
Tak/Nie |
Wartość -1 (Tak w polu typu Tak/Nie) jest konwertowana na Tak. Wartość 0 (Nie w polu typu Tak/Nie) jest konwertowana na Nie. |
|
Hiperłącze |
Program Access obcina łącza dłuższe niż 255 znaków. |
|
Długi tekst |
Krótki tekst |
Bez ograniczeń. |
Liczba |
Bez ograniczeń. |
|
Data/Godzina |
Bez ograniczeń. |
|
Waluta |
Bez ograniczeń. |
|
Autonumerowanie |
Bez ograniczeń. |
|
Tak/Nie |
Wartość -1 (Tak w polu typu Tak/Nie) jest konwertowana na Tak. Wartość 0 (Nie w polu typu Tak/Nie) jest konwertowana na Nie. |
|
Hiperłącze |
Bez ograniczeń. |
|
Liczba |
Krótki tekst |
Tekst musi zawierać liczby, prawidłowe waluty i separatory miejsc dziesiętnych. Liczba znaków w polu tekstowym nie może przekraczać rozmiaru ustawionego dla pola typu Liczba. |
Długi tekst |
Pole Długi tekst musi zawierać tylko tekst oraz prawidłowe waluty i separatory dziesiętne. Liczba znaków w polu Długi tekst musi nie mieścić się w rozmiarze ustawionym dla pola typu Liczba. |
|
Liczba, ale o innym rozmiarze pola lub precyzji |
Wartości nie mogą być większe ani mniejsze od wartości, które może przechowywać nowe pole. Zmiana precyzji może spowodować, że program Access zaokrągli niektóre wartości. |
|
Data/Godzina |
To, jakie daty można przekonwertować, zależy od rozmiaru pola liczbowego. Należy pamiętać, że program Access przechowuje wszystkie daty w postaci liczb kolejnych i wartości dat są przechowywane jako liczby całkowite o podwójnej dokładności. W programie Access data 30 grudnia 1899 jest traktowana jako data 0. Daty spoza zakresu od 18 kwietnia 1899 do 11 września 1900 przekraczają rozmiar pola typu Bajt. Daty spoza zakresu od 13 kwietnia 1810 do 16 września 1989 przekraczają rozmiar pola typu Liczba całkowita. Aby zmieścić wszystkie możliwe daty, należy ustawić właściwość Rozmiar pola typu Liczba na Liczba całkowita długa lub większą wartość. |
|
Waluta |
Wartości nie mogą przekraczać od góry ani od dołu limitu rozmiaru ustawionego dla pola. Można na przykład przekonwertować pole waluty na pole typu Liczba całkowita tylko wtedy, gdy te wartości są większe niż 255 i nie przekraczają 32 767. |
|
Autonumerowanie |
Wartości muszą się mieścić w limicie rozmiaru ustawionym dla pola. |
|
Tak/Nie |
Wartości „Tak” są konwertowane na -1. Wartości „Nie” są konwertowane na 0. |
|
Data/Godzina |
Krótki tekst |
Oryginalny tekst musi być rozpoznawalną datą lub kombinacją daty/godziny. Na przykład 18 sty 2020. |
Długi tekst |
Oryginalny tekst musi być rozpoznawalną datą lub kombinacją daty/godziny. Na przykład 18 sty 2020. |
|
Liczba |
Wartość musi należeć do przedziału od -657 434 do 2 958 465,99998843. |
|
Waluta |
Wartość musi należeć do przedziału od -657 434 zł do 2 958 465,9999 zł. |
|
Autonumerowanie |
Wartość musi być większa od -657 434 i mniejsza od 2 958 466. |
|
Tak/Nie |
Wartość -1 (Tak) jest konwertowana na 29 grudnia 1899. Wartość 0 (Nie) jest konwertowana na północ (00:00). |
|
Waluta |
Krótki tekst |
Tekst musi się składać z liczb i prawidłowych separatorów. |
Długi tekst |
Tekst musi się składać z liczb i prawidłowych separatorów. |
|
Liczba |
Bez ograniczeń. |
|
Data/Godzina |
Bez ograniczeń, ale program Access może zaokrąglić wartość. |
|
Autonumerowanie |
Bez ograniczeń. |
|
Tak/Nie |
Wartość -1 (Tak) jest konwertowana na 1 zł. Wartość 0 (Nie) jest konwertowana na 0 zł. |
|
Autonumerowanie |
Krótki tekst |
Niedozwolone, jeśli pole typu Autonumerowanie służy jako klucz podstawowy. |
Długi tekst |
Niedozwolone, jeśli pole typu Autonumerowanie służy jako klucz podstawowy. |
|
Liczba |
Niedozwolone, jeśli pole typu Autonumerowanie służy jako klucz podstawowy. |
|
Data/Godzina |
Niedozwolone, jeśli pole typu Autonumerowanie służy jako klucz podstawowy. |
|
Waluta |
Niedozwolone, jeśli pole typu Autonumerowanie służy jako klucz podstawowy. |
|
Tak/Nie |
Niedozwolone, jeśli pole typu Autonumerowanie służy jako klucz podstawowy. |
|
Tak/Nie |
Krótki tekst |
Oryginalny tekst musi się składać z pozycji Tak, Nie, Prawda, Fałsz, Włączony lub Wyłączony. |
Długi tekst |
Oryginalny tekst musi się składać z pozycji Tak, Nie, Prawda, Fałsz, Włączony lub Wyłączony. |
|
Liczba |
Zero lub wartość Null są konwertowane na wartość Nie, wszystkie inne wartości są konwertowane na wartość Tak. |
|
Data/Godzina |
Wartość Null lub 00:00:00 jest konwertowana na wartość Nie, wszystkie inne wartości są konwertowane na wartość Tak. |
|
Waluta |
Zero i wartość Null są konwertowane na wartość Nie, wszystkie inne wartości są konwertowane na wartość Tak. |
|
Autonumerowanie |
Wszystkie wartości są konwertowane na wartość Tak. |
|
Hiperłącze |
Krótki tekst |
Jeśli oryginalny tekst zawiera prawidłowy adres internetowy, na przykład adatum.com, www.adatum.com lub http://www.adatum.com, program Access konwertuje tekst na hiperłącze. Inne wartości są konwertowane „pozornie” w taki sposób, że widać podkreślony tekst, a kursor myszy zmienia się po wskazaniu łącza — ale łącza nie działają. Tekst może zawierać dowolny prawidłowy protokół sieci Web: http://, gopher://, telnet://, ftp:// lub wais://. |
Długi tekst |
Zobacz poprzednią pozycję. Są stosowane te same ograniczenia. |
|
Liczba |
Niedozwolone, jeśli pole typu Liczba jest częścią relacji. Jeśli oryginalna wartość ma postać prawidłowego adresu IP (cztery wystąpienia trzech cyfr rozdzielone kropkami: nnn.nnn.nnn.nnn), a liczby występują w istniejącym adresie internetowym, wynikiem konwersji jest prawidłowe łącze. W przeciwnym przypadku program Access dołącza na początku każdej wartości ciąg http:// i otrzymane łącza są nieprawidłowe. |
|
Data/Godzina |
Program Access dołącza na początku każdego adresu ciąg http://, ale otrzymane linki prawie nigdy nie działają. |
|
Waluta |
Program Access dołącza na początku każdej wartości ciąg http://, ale (podobnie jak w przypadku dat) otrzymane linki prawie nigdy nie działają. |
|
Autonumerowanie |
Niedozwolone, jeśli pole typu Autonumerowanie jest częścią relacji. Program Access dołącza na początku każdej wartości ciąg http://, ale otrzymane łącza prawie nigdy nie działają. |
|
Tak/Nie |
Program Access konwertuje wszystkie wartości Tak na -1, a wszystkie wartości Nie na 0 oraz dołącza na początku każdej wartości ciąg http://. Otrzymane łącza nie działają. |
Zatrzymywanie blokowania kwerendy przez tryb wyłączony
Jeśli po uruchomieniu kwerendy funkcjonalnej 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.
Domyślnie program Access wyłącza wszystkie kwerendy funkcjonalne (aktualizujące, dołączające, usuwające i tworzące tabele), chyba że baza danych znajduje się w zaufanej lokalizacji lub jest podpisana i zaufana. Istnieje jednak możliwość włączenia kwerendy dla bieżącej sesji bazy danych przez kliknięcie przycisku Włącz zawartość na pasku komunikatów.
Wersja SQL: instrukcja UPDATE
W przypadku posiadania umiejętności w zakresie obsługi baz danych SQL można także wprowadzić instrukcję UPDATE przy użyciu widoku SQL. Aby użyć widoku SQL, należy utworzyć nową, pustą kwerendę, a następnie przejść do tego widoku.
W tej sekcji przedstawiono składnię i przykład zastosowania instrukcji UPDATE.
Składnia
UPDATE tabela SET nowa_wartość WHERE kryteria;
Instrukcja UPDATE zawiera następujące segmenty:
Segment |
Opis |
---|---|
tabela |
Nazwa tabeli zawierającej dane, które mają zostać zmodyfikowane. |
nowa_wartość |
Wyrażenie określające wartość, która ma zostać umieszczona w konkretnym polu aktualizowanych rekordów. |
kryteria |
Wyrażenie określające, które rekordy będą aktualizowane. Aktualizacja będzie dotyczyła wyłącznie rekordów spełniających podane warunki. |
Uwagi
Instrukcja UPDATE jest szczególnie przydatna w sytuacji, gdy należy zmodyfikować wiele rekordów lub jeśli rekordy, które mają zostać zmienione, znajdują się w wielu tabelach.
W jednej operacji można zmodyfikować wiele pól. W przykładzie poniżej dla spedytorów w Zjednoczonym Królestwie wartości kwoty zamówień zostaną zwiększone o 10, a wartości frachtu o 3 procent:
UPDATE Orders
SET OrderAmount = OrderAmount * 1.1,
Freight = Freight * 1.03
WHERE ShipCountry = 'UK';