Za pomocą wyrażeń można wykonywać różnorodne zadania w programie Microsoft Access, takie jak przeprowadzanie obliczeń matematycznych, łączenie lub wyodrębnianie tekstu i sprawdzanie poprawności danych. W tym artykule znajdują się ogólne informacje dotyczące wyrażeń — kiedy ich używać, jakie są ich części składowe i jak funkcjonują w porównaniu z formułami programu Microsoft Excel.
W tym artykule
Omówienie wyrażeń
Ujmijmy to w następujący sposób: jeżeli program Access ma wykonać pewną czynność, należy go o tym poinformować, używając zrozumiałego dla programu języka. Załóżmy na przykład, że program Access ma wykonać polecenie „przeanalizuj pole BirthDate (DataUrodzenia) w tabeli Customers (Klienci) i podaj rok urodzenia klienta”. To wyrażenie można zapisać w następującej postaci:
DatePart("yyyy",[Customers]![BirthDate])
To wyrażenie składa się z funkcji DatePart oraz dwóch wartości argumentów: "yyyy" and [Customers]![BirthDate].
Przeanalizujmy dokładniej to wyrażenie.
1 Funkcja DatePart analizuję datę i zwraca określoną część. W tym przypadku są używane dwa pierwsze argumenty.
2 Argument interwału wskazuje programowi Access, którą część daty należy zwrócić — w tym przypadku argument "yyyy" oznacza, że program Access ma zwrócić tylko część daty zawierającą rok.
3 Argument daty wskazuje programowi Access, gdzie należy szukać wartości daty — w tym przypadku wartość [Customers]![BirthDate] oznacza, że program Access ma szukać daty w polu BirthDate (DataUrodzenia) w tabeli Customers (Klienci).
Sposoby używania wyrażeń
Poniżej przedstawiono sposoby używania wyrażeń:
-
Obliczanie wartości, które nie są dostępne bezpośrednio w danych. Wartości można obliczać dla pól tabel i zapytań, a także na potrzeby kontrolek w formularzach i raportach.
-
Definiowanie wartości domyślnej pola tabeli lub kontrolki w formularzu bądź raporcie. Wartości domyślne są wyświetlane zawsze po otworzeniu tabeli, formularza lub raportu.
-
Tworzenie reguły poprawności w celu określenia, jakie wartości użytkownicy mogą wprowadzić w polu lub kontrolce.
-
Definiowanie kryterium zapytania w celu ograniczenia wyników do odpowiedniego podzbioru.
Obliczanie wartości
Jednym z typowych sposobów używania wyrażeń w programie Access jest obliczanie wartości, które nie są dostępne bezpośrednio w danych. Kolumna w tabeli lub zapytaniu powstająca w wyniku takiego obliczenia nosi nazwę pola obliczeniowego. Możesz utworzyć pole obliczeniowe, które łączy dwa lub większą liczbę pól tabeli. Na przykład w wielu tabelach imiona i nazwiska są przechowywane w oddzielnych polach. Jeśli chcesz połączyć te imiona i nazwiska, a następnie wyświetlić je w jednym polu, możesz utworzyć pole obliczeniowe w tabeli lub w zapytaniu:
[FirstName] & " " & [LastName].
W tym przypadku znaki handlowego „i” (&) łączą wartość z pola FirstName, znak spacji (spacja ujęta w cudzysłowy) oraz wartość z pola LastName.
Definiowanie wartości domyślnej
Wyrażeń w programie Access można też używać w celu dostarczania wartości domyślnej kontrolki lub pola w tabeli. Na przykład, aby jako wartość domyślną pola daty ustawić bieżącą datę, w polu właściwości Wartość domyślna tego pola wpisz:
Date()
Tworzenie reguły poprawności
Co więcej, za pomocą wyrażenia można ustawić regułę poprawności. Reguły poprawności można na przykład użyć w kontrolce lub polu tabeli, aby wymagać wprowadzenia daty większej lub równej bieżącej dacie. W takim przypadku w polu właściwości Reguła poprawności należy ustawić wartość:
>= Date()
Definiowanie kryterium zapytania
Ostatnim zastosowaniem wyrażeń jest ustawianie kryteriów kwerendy. Załóżmy na przykład, że chcesz wyświetlić sprzedaż produktu związaną z zamówieniami, które zostały wydane w określonym przedziale czasu. Można wprowadzić kryteria definiujące zakres dat, dzięki czemu program Access zwróci tylko wiersze spełniające te kryteria. Takie wyrażenie może wyglądać następująco:
Between #1/1/2017# And #12/31/2017#
Po dodaniu kryteriów do zapytania i uruchomieniu go zostaną zwrócone tylko wartości pasujące do określonych dat.
Przykłady wyrażeń
W poniższej tabeli podano kilka przykładowych wyrażeń programu Access wraz z opisami ich typowego zastosowania:
Wyrażenie |
Zastosowanie |
---|---|
=[RequiredDate]-[ShippedDate] |
Oblicza różnicę między wartościami daty w dwóch kontrolkach pola tekstowego (o nazwach DataDostawy i DataWysyłki) w raporcie. |
Date() |
Ustawia bieżącą datę jako wartość domyślną w polu tabeli typu Data/Godzina. |
Between #1/1/2017# And #12/31/2017# |
Określa kryteria dla pola typu Data/Godzina w zapytaniu. |
=[Orders Subform].Form!OrderSubtotal |
Zwraca wartość kontrolki SumaCzęściowaZamówienia z elementu Podformularz Zamówienia znajdującego się w formularzu Zamówienia. |
>0 |
Ustawia regułę poprawności dla pola liczbowego w tabeli — użytkownicy muszą wprowadzać wartości większe niż zero. |
Niektóre wyrażenia rozpoczynają się od operatora równości (=), a niektóre nie. Podczas obliczania wartości kontrolki w formularzu lub raporcie operator = służy do rozpoczynania wyrażenia. W innych sytuacjach, na przykład podczas wpisywania wyrażenia w zapytaniu albo we właściwości WartośćDomyślna lub RegułaPoprawności pola lub kontrolki, nie trzeba używać operatora =, chyba że wyrażenie jest dodawane do pola typu Tekst w tabeli. W niektórych przypadkach, na przykład podczas dodawania wyrażeń do zapytań, program Access automatycznie usuwa operator =.
Składniki wyrażeń
Wyrażenie składa się z pewnej liczby możliwych składników, których można używać pojedynczo lub łącznie w celu uzyskania żądanego wyniku. Te składniki są następujące:
-
Identyfikatory Nazwy pól tabeli, kontrolki w formularzach lub raportach albo właściwości tych pól lub kontrolek.
-
Operatory Na przykład + (plus) lub - (minus).
-
Funkcje Na przykład SUMA lub ŚREDNIA.
-
Stałe Wartości, które się nie zmieniają — na przykład ciągi tekstu lub liczby, które nie są obliczane przez wyrażenie.
-
Wartości Ciągi, takie jak „Wprowadź liczbę od 1 do 10” lub liczby, na przykład 1254, które są używane w działaniach.
W poniższych sekcjach opisano te składniki bardziej szczegółowo.
Identyfikatory
Identyfikator to nazwa pola, właściwości lub kontrolki. Identyfikator w wyrażeniu służy do odwoływania się do wartości skojarzonej z polem, właściwością lub kontrolką. Wyrażenie może na przykład wyglądać następująco =[RequiredDate]-[ShippedDate]. W tym wyrażeniu wartość pola lub kontrolki ShippedDate jest odejmowana od wartości pola lub kontrolki RequiredDate. W tym wyrażeniu identyfikatorami są RequiredDate i ShippedDate.
Operatory
Program Access obsługuje różne operatory, w tym typowe operatory arytmetyczne, takie jak +, -, * (mnożenie) i / (dzielenie). Można też używać operatorów porównania, takich jak < (mniejsze niż) lub > (większe niż), aby porównywać wartości, operatorów tekstowych, takich jak & and +, aby łączyć tekst, operatorów logicznych, Not and And, aby ustalać wartości Prawda lub Fałsz, oraz innych operatorów stosowanych w programie Access.
Funkcje
Funkcje to wbudowane procedury, których można używać w wyrażeniach. Funkcje umożliwiają wykonywanie różnorodnych operacji, takich jak obliczanie wartości, wykonywanie operacji na tekście i datach oraz podsumowywanie danych. Na przykład jedną z powszechnie używanych funkcji jest funkcja DATE, która zwraca bieżącą datę. Funkcji DATE można używać na różne sposoby, na przykład w wyrażeniach ustawiających wartość domyślną pola w tabeli. W tym przykładzie zawsze, gdy ktoś doda nowy rekord, wartość pola jest domyślnie ustawiana na bieżącą datę.
Niektóre funkcje wymagają argumentów. Argument to wartość dostarczająca dane wejściowe do funkcji. Jeśli funkcja wymaga kilku argumentów, należy rozdzielić je przecinkami. Przeanalizujmy działanie funkcji DATE w następującym przykładowym wyrażeniu:
=Format(Date(),"mmmm d, yyyy")
W tym przykładzie użyto dwóch argumentów:
-
Pierwszy argument to funkcja Date(), która zwraca bieżącą datę. Nawet jeśli nie ma żadnych argumentów, trzeba dodać nawiasy funkcji.
-
Drugi argument "mmmm d, yyyy", oddzielony od pierwszego argumentu przecinkiem, określa ciąg tekstowy informujący funkcję FORMAT, w jaki sposób ma zostać sformatowana zwrócona wartość daty. Pamiętaj, że ciąg tekstowy musi być ujęty w cudzysłów.
To wyrażenie pokazuje również, że wartości zwróconej przez jedną funkcję często można używać jako argumentu innej funkcji. W tym przypadku: Date() funkcjonuje jako argument.
Stałe
Stała to element, którego wartość nie zmienia się w trakcie działania programu Access. Stałe True, False i Null są często używane w wyrażeniach.
Wartości
W wyrażeniach można używać wartości literałów, takich jak liczba 1254 lub ciąg „Wprowadź liczbę z zakresu od 1 do 10”. W razie potrzeby można też używać wartości liczbowych składających się z serii cyfr oraz znaku i separatora dziesiętnego.
Gdy jako wartości używasz ciągów tekstowych, umieść je w cudzysłowach, aby program Access poprawnie je interpretował. W pewnych okolicznościach program Access automatycznie wstawia znaki cudzysłowu. Na przykład podczas wpisywania tekstu w wyrażeniu reguły poprawności lub kryteriów zapytania program Access automatycznie umieszcza ciągi tekstowe w cudzysłowach.
Aby używać wartości daty/godziny, należy umieszczać wartości między znakami numeru (#). Przykładami prawidłowych wartości daty/godziny są ciągi #3-7-17#, #7-Mar-17# i #Mar-7-2017#. Gdy program Access napotka prawidłową wartość daty/godziny otoczoną znakami #, automatycznie traktuję tę wartość jak wartość o typie danych Data/Godzina.
Porównanie wyrażeń programu Access i formuł programu Excel
Wyrażenia programu Access są podobne do formuł programu Excel w tym, że w celu uzyskania wyniku są używane podobne elementy. Formuły programu Excel i wyrażenia programu Access zawierają co najmniej jeden z następujących elementów:
-
Identyfikatory W programie Excel identyfikatory to nazwy pojedynczych komórek lub zakresów komórek w arkuszu, na przykład A1, B3:C6 lub Arkusz2!C32. W programie Access identyfikatory to nazwy pól tabel (takie jak [Contacts]![First Name]), kontrolek w formularzach lub raportach (takie jak Forms![Task List]![Description]) bądź właściwości tych pól lub kontrolek (takie jak Forms![Task List]![Description].ColumnWidth).
-
Operatory W programach Access i Excel operatory służą do porównywania wartości lub wykonywania prostych obliczeń na danych. Przykłady operatorów to + (plus) i - (minus).
-
Funkcje Zarówno w programie Access, jak i w programie Excel, funkcje i argumenty są używane do wykonywania zadań, których nie można wykonać jedynie za pomocą operatorów — można na przykład znaleźć wartość średnią dla wartości w polu, lub przekonwertować wynik obliczeń na format waluty. Przykłady funkcji to SUMA i ODCH.STANDARDOWE. Argumenty to wartości, które dostarczają funkcjom potrzebne informacje. Pamiętaj, że programy Access i Excel mają wiele funkcji do wyboru, ale czasami nazwy podobnych funkcji w tych programach są różne. Na przykład funkcji ŚREDNIA w programie Excel odpowiada funkcja AVG w programie Access.
-
Stałe W programach Access i Excel stałe są wartościami, które nie ulegają zmianie — są to na przykład liczby, które nie są obliczane przy użyciu wyrażeń.
-
Wartości W programach Access i Excel wartości są używane w podobny sposób.
W wyrażeniach programu Access są używane operatory i stałe podobne do tych w formułach programu Excel, ale w wyrażeniach programu Access są używane inne identyfikatory i funkcje. Formuły programu Excel zwykle są używane tylko w komórkach arkuszy, natomiast wyrażenia programu Access są stosowane w wielu miejscach w ramach programu Access i w różnorodnych celach, takich jak:
-
tworzenie kontrolek obliczeniowych w formularzach i raportach,
-
tworzenie pól obliczeniowych w tabelach i kwerendach,
-
określanie kryteriów w kwerendach,
-
sprawdzanie poprawności danych wprowadzanych w polu lub kontrolce formularza,
-
grupowanie danych w raportach.
Za pomocą wyrażenia programu Access lub formuły programu Excel, w której są używane operatory matematyczne, można obliczać wartości liczbowe lub wartości daty/godziny. Aby na przykład obliczyć cenę z rabatem dla klienta, można użyć formuły programu Excel =C2*(1-D2) lub wyrażenia programu Access = [Unit Price]*(1-[Discount]).
Wyrażenia programu Access lub formuły programu Excel oraz operatorów ciągu można też użyć w celu łączenia lub dzielenia ciągów oraz wykonywania na nich innych operacji. Aby na przykład połączyć imię i nazwisko w jeden ciąg, można użyć formuły programu Excel =D3 & " " D4 lub wyrażenia programu Access = [First Name] & " " & [Last Name].