Ketika menggunakan Microsoft Access, Anda sering kali perlu bekerja dengan nilai yang tidak langsung ada dalam data Anda. Misalnya, menghitung pajak penjualan pada satu pesanan, atau menghitung nilai total pesanan tersebut. Anda dapat menghitung nilai-nilai ini menggunakan ekspresi. Untuk menggunakan ekspresi, tulis ekspresi menggunakan sintaks yang tepat terlebih dahulu. Sintaks adalah kumpulan aturan yang mengatur kata-kata dan simbol dalam ekspresi agar tergabung dengan benar. Pada awalnya, ekspresi di Access akan sedikit sulit dibaca. Tetapi dengan pemahaman yang baik tentang sintaks ekspresi dan sedikit latihan, ekspresi akan menjadi lebih mudah dimengerti.
Dalam artikel ini
- Gambaran umum ekspresi
- Komponen ekspresi
- Objek, koleksi, dan properti
- Pengidentifikasi
- Fungsi, operator, konstanta, dan nilai
- Batas penumpukan ekspresi dalam database web adalah 65
Gambaran umum ekspresi
Ekspresi adalah kombinasi dari beberapa atau semua hal berikut: fungsi bawaan atau yang ditentukan oleh pengguna, pengidentifikasi, operator, nilai dan konstanta yang dievaluasi menjadi nilai tunggal.
Misalnya, ekspresi berikut ini berisi keempat komponen umum:
=Sum([Purchase Price])*0.08
-
Sum()adalah fungsi bawaan -
[Purchase Price]adalah pengidentifikasi -
*adalah operator matematika -
0.08adalah konstanta
Ekspresi ini dapat digunakan dalam kotak teks di footer formulir atau footer laporan untuk menghitung pajak penjualan bagi sekelompok item.
Ekspresi bisa lebih kompleks atau lebih sederhana dari contoh ini. Misalnya, ekspresi Boolean ini hanya terdiri dari operator dan konstanta:
>0
Ekspresi ini mengembalikan:
-
Truejika dibandingkan dengan angka yang lebih besar dari 0. -
Falsejika dibandingkan dengan angka yang kurang dari 0.
Anda dapat menggunakan ekspresi ini dalam properti Validation Rule dari kontrol atau bidang tabel untuk memastikan hanya nilai positif yang dimasukkan. Ekspresi digunakan di banyak tempat untuk melakukan penghitungan, memanipulasi karakter atau menguji data. Tabel, kueri, formulir, laporan, dan makro semuanya memiliki properti yang menerima ekspresi. Misalnya, Anda dapat menggunakan ekspresi dalam properti Control Source dan Default Value untuk kontrol. Anda juga dapat menggunakan ekspresi dalam properti Validation Rule untuk bidang tabel.
Komponen ekspresi
Untuk menyusun ekspresi, gabungkan pengidentifikasi menggunakan fungsi, operator, konstanta, dan nilai. Semua ekspresi yang valid harus berisi setidaknya satu fungsi atau satu pengidentifikasi, serta dapat berisi konstanta atau operator. Anda juga bisa menggunakan ekspresi sebagai bagian dari ekspresi lain—biasanya sebagai argumen fungsi. Hal ini disebut dengan menumpuk ekspresi.
Pengidentifikasi Bentuk umumnya adalah:
[Collection name]![Object name].[Property name]Anda hanya perlu menentukan bagian pengidentifikasi secukupnya agar bersifat unik sesuai konteks ekspresi. Tidak jarang pengidentifikasi mengambil formulir
[Object name].Fungsi Bentuk umumnya adalah:
Function(argument, argument)Salah satu argumen biasanya merupakan pengidentifikasi atau ekspresi. Beberapa fungsi tidak memerlukan argumen. Sebelum menggunakan fungsi tertentu, tinjau sintaks fungsi tersebut. Untuk informasi selengkapnya, lihat Fungsi (diatur menurut kategori).
Operator Bentuk umumnya adalah:
Identifier operator identifierTerdapat pengecualian untuk formulir ini, seperti yang dijelaskan pada bagian Operator.
Konstanta Bentuk umumnya adalah:
Identifier comparison_operator constantNilai Nilai dapat terjadi di berbagai lokasi dalam ekspresi.
Objek, koleksi, dan properti
Semua tabel, kueri, formulir, laporan, dan bidang dalam database Access secara individu dikenal sebagai objek. Setiap objek memiliki nama. Beberapa objek telah diberi nama, seperti tabel Kontak dalam database yang dibuat dari templat Kontak Microsoft Office Access. Saat membuat objek baru, berikan nama padanya.
Kumpulan dari semua anggota jenis objek tertentu dikenal sebagai koleksi. Misalnya, kumpulan dari semua tabel dalam database adalah koleksi. Beberapa objek yang menjadi anggota koleksi dalam database juga dapat merupakan koleksi yang berisi objek lain. Misalnya, objek tabel adalah koleksi yang berisi objek bidang.
Objek memiliki properti, yang menguraikan dan menyediakan cara untuk mengubah karakteristik objek. Misalnya, objek kueri memiliki properti Tampilan Default yang menguraikan dan memungkinkan Anda menentukan bagaimana kueri tersebut akan muncul saat dijalankan.
Diagram berikut ini menggambarkan hubungan antara koleksi, objek, dan properti:
|
3 A properti 2 Objek 1 Koleksi |
|---|
Pengidentifikasi
Ketika menggunakan objek, kumpulan, atau properti dalam sebuah ekspresi, Anda merujuk ke elemen tersebut menggunakan pengidentifikasi. Pengidentifikasi menyertakan nama elemen yang Anda identifikasi, juga nama elemen tempatnya berada. Misalnya, pengidentifikasi untuk bidang menyertakan nama bidang dan nama tabel tempat bidang tersebut berada. Contoh pengidentifikasi:
[Customers]![BirthDate]
Dalam beberapa situasi, nama elemen akan berfungsi sendiri sebagai pengidentifikasi. Hal ini benar jika nama elemen tersebut bersifat unik dalam konteks ekspresi yang sedang dibuat. Selebihnya, pengidentifikasi tersirat oleh konteksnya. Misalnya, jika sedang menyusun kueri yang hanya menggunakan satu tabel, nama bidangnya sendiri akan berfungsi sebagai pengidentifikasi, karena nama bidang dalam tabel harus bersifat unik dalam tabel tersebut. Karena hanya menggunakan satu tabel, nama tabel tersirat dalam pengidentifikasi apa pun yang digunakan dalam kueri untuk merujuk ke suatu bidang.
Dalam kasus lain, bagian pengidentifikasi harus eksplisit agar referensi dapat berfungsi. Hal ini benar jika pengidentifikasi tidak bersifat unik sesuai konteks ekspresi. Saat terdapat ambiguitas, Anda harus secara eksplisit menunjukkan bagian pengidentifikasi secukupnya agar menjadi unik dalam konteks. Misalnya, Anda sedang menyusun kueri yang menggunakan tabel bernama Produk dan Pesanan, dan keduanya memiliki bidang bernama IDProduk. Dalam hal itu, pengidentifikasi yang digunakan dalam kueri untuk merujuk ke salah satu bidang IDProduk harus menyertakan nama tabel selain nama bidang. Misalnya:
[Products]![ProductID]
Operator pengidentifikasi Terdapat tiga operator yang dapat digunakan dalam pengidentifikasi:
- Operator poni (
!) - Operator titik (
.) - Operator kurung siku (
[ ])
Gunakan operator ini dengan mengapit setiap bagian pengidentifikasi dalam tanda kurung siku lalu menggabungkannya dengan operator titik atau tanda seru. Misalnya, pengidentifikasi untuk bidang bernama Nama Belakang dalam tabel bernama Karyawan dapat dinyatakan sebagai [Employees]![Last Name]. Operator tanda seru memberi tahu Access bahwa yang mengikutinya adalah objek milik kumpulan yang mendahului operator tanda seru tersebut. Dalam hal ini, [Nama Belakang] adalah objek bidang milik kumpulan [Karyawan], yang merupakan objek tabel.
Singkatnya, Anda tidak harus selalu mengetik tanda kurung siku di sekitar pengidentifikasi atau sebagiannya. Jika tidak terdapat spasi atau karakter khusus lainnya dalam pengidentifikasi, Access otomatis menambahkan kurung ketika aplikasi membaca ekspresi. Namun, ada baiknya mengetik sendiri tanda kurung siku—ini membantu Anda menghindari kesalahan, dan juga berfungsi sebagai petunjuk visual bahwa bagian tertentu dari ekspresi adalah pengidentifikasi.
Fungsi, operator, konstanta, dan nilai
Untuk membuat ekspresi, Anda memerlukan lebih dari pengidentifikasi—Anda perlu melakukan tindakan pengurutan. Anda menggunakan fungsi, operator, dan konstanta untuk melakukan tindakan dalam ekspresi.
Fungsi
Fungsi adalah prosedur yang dapat digunakan dalam ekspresi. Beberapa fungsi, seperti Date, tidak memerlukan input apa pun agar dapat berfungsi. Sebagian besar fungsi memerlukan input yang disebut argumen.
Dalam contoh di awal artikel ini, fungsi DatePart menggunakan dua argumen: argumen interval, dengan nilai "yyyy" dan argumen tanggal, dengan nilai [Customers]![BirthDate]. Fungsi DatePart memerlukan setidaknya dua argumen ini (interval dan tanggal), tetapi dapat menerima hingga empat argumen.
Daftar berikut ini memperlihatkan beberapa fungsi yang biasanya digunakan dalam ekspresi. Klik tautan setiap fungsi untuk informasi selengkapnya tentang sintaks yang digunakan dengan fungsi tersebut.
Fungsi Date digunakan untuk menyisipkan tanggal sistem saat ini ke dalam ekspresi. Fungsi ini umumnya digunakan dengan fungsi Format, juga digunakan dengan pengidentifikasi bidang untuk bidang yang berisi data tanggal/waktu.
=Date()Fungsi DatePart digunakan untuk menentukan atau mengekstrak sebagian tanggal—biasanya tanggal yang diperoleh dari pengidentifikasi bidang, tetapi terkadang nilai tanggal yang dikembalikan oleh fungsi lain, seperti Date.
DatePart ( "yyyy", Date())Fungsi DateDiff digunakan untuk menentukan selisih antara dua tanggal—biasanya antara tanggal yang diperoleh dari pengidentifikasi bidang dan tanggal yang diperoleh menggunakan fungsi Date.
=DateDiff("d", Now(), [Orders].[ReceiveBefore])-10Fungsi Format digunakan untuk menerapkan format pada pengidentifikasi dan hasil dari fungsi lain.
Format([Date],"ww")=Format(Now(),"ww")-1Fungsi IIf digunakan untuk mengevaluasi ekspresi sebagai true atau false, lalu mengembalikan satu nilai jika ekspresi dievaluasi sebagai true, dan nilai berbeda jika ekspresi mengevaluasi sebagai false.
=IIf([CountryRegion]="Italy", "Italian", "Some other language")Fungsi InStr digunakan untuk mencari posisi karakter atau string dalam string lain. String yang dicari biasanya didapatkan dari pengidentifikasi bidang.
InStr(1,[IPAddress],".")Fungsi Left, Mid, dan Right digunakan untuk mengekstrak karakter dari string, dimulai dengan karakter paling kiri (Left), posisi tertentu di tengah (Mid), atau karakter paling kanan (Right). Fungsi ini umumnya digunakan dengan fungsi InStr. String tempat fungsi-fungsi ini mengekstrak karakter biasanya didapatkan dari pengidentifikasi bidang.
Left([ProductName], 1) Right([AssetCode], 2) Mid([Phone],2,3)
Untuk daftar fungsi, lihat Fungsi (disusun menurut kategori).
Operator
Operator adalah kata atau simbol yang menunjukkan aritmetika atau hubungan logika tertentu antara elemen lain dari ekspresi. Operator dapat berupa:
-
Aritmetika, seperti tanda plus (
+). -
Perbandingan, seperti tanda sama dengan (
=). -
Logika, seperti
Not. -
Penggambungan, seperti
&. -
Khusus, seperti
Like.
Operator biasanya digunakan untuk menunjukkan hubungan antara dua pengidentifikasi. Tabel berikut ini menjelaskan operator yang dapat digunakan dalam ekspresi Access.
Gunakan operator aritmetika untuk menghitung nilai dari dua atau beberapa angka, atau untuk mengubah tanda bilangan dari positif ke negatif.
| Operator | Tujuan | Contoh |
|---|---|---|
+ |
Menjumlahkan dua angka. | [Subtotal]+[PajakPenjualan] |
- |
Menemukan selisih di antara dua angka atau menunjukkan nilai negatif dari sebuah angka. | [Harga]-[Diskon] |
* |
Mengalikan dua angka. | [Jumlah]*[Harga] |
/ |
Membagi angka pertama dengan angka kedua. | [Total]/[HitunganItem] |
\ |
Membulatkan kedua angka menjadi bilangan bulat, membagi angka pertama dengan angka kedua, lalu memotong hasilnya ke bilangan bulat. | [Terdaftar]\[Ruang] |
Mod |
Membagi angka pertama dengan angka kedua, lalu menghasilkan sisanya saja. | [Terdaftar] Mod [Ruang] |
^ |
Menaikkan angka hingga ke kekuatan eksponen. | Angka ^ Eksponen |
Perbandingan
Gunakan operator pembanding untuk membandingkan nilai dan menghasilkan true, false, atau Null (nilai yang tidak diketahui).
| Operator | Tujuan |
|---|---|
< |
Menentukan apakah nilai pertama kurang dari nilai kedua. |
<= |
Menentukan apakah nilai pertama kurang dari atau sama dengan nilai kedua. |
> |
Menentukan apakah nilai pertama lebih besar dari nilai kedua. |
>= |
Menentukan apakah nilai pertama lebih besar dari atau sama dengan nilai kedua. |
= |
Menentukan apakah nilai pertama sama dengan nilai kedua. |
<> |
Menentukan apakah nilai pertama tidak sama dengan nilai kedua. |
Dalam semua kasus, jika nilai pertama atau nilai kedua adalah Null, hasilnya juga Null. Karena Null mewakili nilai yang tidak diketahui, hasil perbandingan apa pun dengan Null juga tidak diketahui.
Logika
Gunakan operator logika untuk menggabungkan dua nilai dan menghasilkan true, false, atau Null. Anda mungkin tahu bahwa operator logika juga disebut sebagai operator Boolean.
| Operator | Penggunaan | Deskripsi |
|---|---|---|
And |
Ekspr1 And Ekspr2 | True saat Ekspr1 dan Ekspr2 adalah benar. |
Or |
Ekspr1 Or Ekspr2 | True saat Ekspr1 atau Ekspr2 adalah benar. |
Eqv |
Ekspr1 Eqv Ekspr2 | True saat kedua Ekspr1 dan Ekspr2 adalah benar, atau kedua Ekspr1 dan Ekspr2 adalah salah. |
Not |
Not Ekspr | True saat Ekspr tidak benar. |
Xor |
Ekspr1 Xor Ekspr2 | True saat Ekspr1 adalah benar, atau Ekspr2 adalah benar, tetapi tidak keduanya. |
Penggabungan
Gunakan operator penggabungan untuk menggabungkan dua nilai teks menjadi satu string.
| Operator | Penggunaan | Deskripsi |
|---|---|---|
& |
string1 & string2 | Menggabungkan dua string menjadi satu string. |
+ |
string1 + string2 | Menggabungkan dua string menjadi satu string dan menyebarkan nilai kosong. |
Khusus
Gunakan operator khusus seperti yang dijelaskan dalam tabel berikut.
| Operator | Deskripsi | Untuk Informasi Selengkapnya |
|---|---|---|
Is Null or Is Not Null |
Menentukan apakah suatu nilai Is Null atau Is Not Null. | |
Like "pattern" |
Mencocokkan nilai string dengan menggunakan operator ?wildcard dan *. |
Operator Like |
Between val1 And val2 |
Menentukan jika nilai numerik atau tanggal ditemukan dalam rentang. | Operator Between...And |
In(string1,string2...) |
Menentukan jika suatu nilai string ada dalam rangkaian nilai string. | Operator In |
Konstanta
Konstanta adalah nilai diketahui yang tidak berubah dan dapat Anda gunakan dalam ekspresi. Terdapat empat konstanta yang biasanya digunakan di Access:
-
Truemenunjukkan sesuatu yang secara logis benar. -
Falsemenunjukkan sesuatu yang salah secara logis. -
Nullmenunjukkan kurangnya nilai yang diketahui. -
"" (empty string)menunjukkan nilai yang diketahui kosong.
Konstanta dapat digunakan sebagai argumen pada fungsi, dan dapat digunakan dalam ekspresi sebagai bagian dari kriteria. Misalnya, Anda bisa menggunakan konstanta string kosong ("") sebagai bagian dari kriteria untuk kolom dalam kueri untuk mengevaluasi nilai bidang untuk kolom tersebut, dengan memasukkan yang berikut ini sebagai kriteria: <>"". Dalam contoh ini, <> adalah operator dan "" merupakan konstanta. Jika digunakan bersama, keduanya mengindikasikan bahwa pengidentifikasi tempatnya diterapkan harus dibandingkan dengan string kosong. Ekspresi yang dihasilkan adalah true ketika nilai pengidentifikasi adalah nilai selain string kosong.
Berhati-hatilah saat menggunakan Null konstanta. Biasanya, penggunaan Null bersama dengan operator perbandingan akan mengakibatkan kesalahan. Jika Anda ingin membandingkan nilai dengan Null dalam ekspresi, gunakan Is Null operator atau.Is Not Null
Nilai
Anda dapat menggunakan nilai literal dalam ekspresi, seperti angka 1.254 atau string "Masukkan angka antara 1 dan 10." Anda juga dapat menggunakan nilai numerik, yang dapat berupa serangkaian digit, termasuk tanda dan titik desimal, jika diperlukan. Dengan tidak adanya tanda, Access mengasumsikan nilai positif. Untuk membuat nilai negatif, sertakan tanda minus (-). Anda juga dapat menggunakan notasi ilmiah. Untuk melakukannya, sertakan "E" atau "e" dan tanda eksponen (misalnya, 1.0E-6).
Ketika menggunakan string teks, letakkan nilai dalam tanda kutip untuk memastikan bahwa Access menafsirkannya dengan benar. Dalam beberapa situasi, Access menambahkan tanda kutip tersebut untuk Anda. Misalnya, ketika mengetikkan teks dalam ekspresi untuk aturan validasi atau kriteria kueri, Access akan mengapit string teks dengan tanda kutip secara otomatis.
Misalnya, jika Anda mengetikkan teks Paris, Access menampilkan "Paris" dalam ekspresi. Jika Anda ingin ekspresi menghasilkan string yang benar-benar diapit dalam tanda kutip, Anda memasukkan string bertumpuk baik dalam tanda kutip tunggal (') atau dalam tiga set tanda kutip ganda ("). Misalnya, ekspresi berikut ini bernilai sama:
Forms![Contacts]![City]. DefaultValue = ' "Paris" '
Forms![Contacts]![City].DefaultValue = " " "Paris" " "
Untuk menggunakan nilai tanggal/waktu, apit nilai dalam tanda pamer (#). Sebagai contoh, #3-7-17#, #7-Mar-17#, dan #Mar-7-2017# semuanya adalah nilai tanggal/waktu yang valid. Ketika menemukan nilai tanggal/waktu valid yang disertakan dalam karakter #, Access akan otomatis memperlakukan nilai tersebut sebagai tipe data Tanggal/Waktu.
Batas penumpukan ekspresi dalam database web adalah 65
Ekspresi yang ditumpuk lebih dari 65 tingkat tidak akan berfungsi di browser, jadi Anda tidak boleh menggunakan ekspresi tersebut dalam database web Access. Anda tidak akan mendapatkan pesan kesalahan apa pun – ekspresi tidak akan berfungsi.
Penggunaan &, AND, dan OR operator dapat membuat tingkat pentumpukan tambahan di server yang tidak terlihat di klien Access. Misalnya ekspresi "a" & "b" & "c" tidak ditumpuk di Penyusun Ekspresi, tetapi di SharePoint ekspresi menjadi concatenate.Db("a", concatenate.Db("b", "c") ). Terjemahan ini membuat satu tingkat penumpukan. Menggunakan banyak berturut-turut &, AND, atau OR operator dalam ekspresi tunggal dapat menyebabkan Anda melebihi batas pentumpukan server 65, di mana ekspresi tidak akan berfungsi di browser.
Menggunakan Penyusun EkspresiPengenalan pada ekspresiMenyusun ekspresiContoh ekspresi