Artikel ini menyediakan contoh ekspresi di Access. Ekspresi menggabungkan operator matematika atau logika, konstanta, fungsi, bidang tabel, kontrol, dan properti ke dalam satu nilai. Anda dapat menggunakan ekspresi di Access untuk menghitung nilai, memvalidasi data, dan mengatur nilai default.
Di artikel ini
Formulir dan laporan
Semua ekspresi formulir dan laporan
Kueri dan filter
Semua ekspresi kueri dan filter
Tabel
| Nilai default bidang | Aturan validasi bidang |
|---|
Makro
Formulir dan laporan
Tabel di bagian ini memperlihatkan ekspresi yang menghitung nilai dalam kontrol pada formulir atau laporan. Untuk membuat kontrol terhitung, masukkan ekspresi dalam ControlSource properti kontrol, bukan di bidang tabel atau kueri.
Catatan
Anda juga bisa menggunakan ekspresi dalam formulir atau laporan saat Anda menyoroti data dengan pemformatan bersyarat.
Operasi teks
Ekspresi dalam tabel berikut ini menggunakan & operator (ampersand) dan + (plus) untuk menggabungkan string teks, menggunakan fungsi bawaan untuk bekerja dengan teks, atau membuat kontrol terhitung.
| Ekspresi | Hasil |
|---|---|
="N/A" |
Menampilkan N/A. |
=[FirstName] & " " & [LastName] |
Menampilkan nilai-nilai yang berada di dalam bidang tabel yang disebut NamaDepan dan NamaBelakang. Dalam contoh ini, & operator digunakan untuk menggabungkan bidang NamaDepan, karakter spasi (diapit dalam tanda kutip), dan bidang NamaBelakang. |
=Left([ProductName], 1) |
Menggunakan fungsi untuk Left menampilkan karakter pertama nilai dalam bidang atau kontrol yang disebut ProductName. |
=Right([AssetCode], 2) |
Menggunakan fungsi untuk Right menampilkan dua karakter terakhir nilai dalam bidang atau kontrol yang disebut AssetCode. |
=Trim([Address]) |
Menggunakan fungsi untuk Trim menampilkan nilai Address kontrol setelah menghapus spasi awal dan akhir. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
IIf Menggunakan fungsi untuk menampilkan nilai City dan PostalCode kontrol jika Region kontrol null. Jika tidak, ini menampilkan nilai , Region, dan PostalCode kontrol, dipisahkan Cityoleh spasi. |
=[City] & (" " + [Region]) & " " & [PostalCode] |
+ Menggunakan operator dan penyebaran null untuk menampilkan nilai City dan PostalCode kontrol jika nilai dalam Region bidang atau kontrol null. Jika tidak, ini menampilkan nilai City, Region, dan PostalCode bidang atau kontrol, dipisahkan oleh spasi. Penyebaran null berarti bahwa jika salah satu bagian dari ekspresi adalah null, seluruh ekspresi adalah null. Operator + mendukung penyebaran null, tetapi & operator tidak. |
Header dan footer
Page Gunakan properti dan Pages untuk menampilkan atau mencetak nomor halaman dalam formulir atau laporan. Properti ini hanya tersedia selama pencetakan atau Pratinjau Cetak, sehingga tidak muncul di lembar properti untuk formulir atau laporan. Biasanya, Anda menempatkan kotak teks di bagian header atau footer formulir atau laporan lalu menggunakan ekspresi seperti yang diperlihatkan dalam tabel berikut ini.
Untuk informasi selengkapnya tentang menggunakan header dan footer dalam formulir dan laporan, lihat artikel Menyisipkan nomor halaman ke dalam formulir atau laporan.
| Ekspresi | Hasil |
|---|---|
=[Page] |
1 |
="Page " & [Page] |
Halaman 1 |
="Page " & [Page] & " of " & [Pages] |
Halaman 1 dari 3 |
=[Page] & " of " & [Pages] & " Pages" |
1 dari 3 Halaman |
=[Page] & "/" & [Pages] & " Pages" |
1/3 Halaman |
=[Country/region] & " - " & [Page] |
INGGRIS - 1 |
=Format([Page], "000") |
001 |
="Printed on: " & Date() |
Dicetak pada: 31/12/17 |
Operasi aritmetika
Anda dapat menggunakan ekspresi untuk menambah, mengurangi, mengalikan, dan membagi nilai pada dua atau beberapa bidang atau kontrol. Anda juga dapat menggunakan ekspresi untuk melakukan operasi aritmetika pada tanggal. Misalnya, anggaplah Anda memiliki bidang tabel Tanggal/Waktu bernama TanggalDiperlukan. Dalam bidang, atau dalam kontrol yang terikat ke bidang, ekspresi =[RequiredDate] - 2 mengembalikan nilai tanggal/waktu sama dengan dua hari sebelum nilai saat ini dalam bidang TanggalDiperlukan.
| Ekspresi | Hasil |
|---|---|
=[Subtotal]+[Freight] |
Jumlah nilai bidang atau kontrol Subtotal dan Pengangkutan. |
=[RequiredDate]-[ShippedDate] |
Interval antara nilai-nilai tanggal dari bidang atau kontrol TanggalDiperlukan dan TanggalPengiriman. |
=[Price]*1.06 |
Hasil kali nilai bidang atau kontrol Harga dan 1,06 (menambahkan 6 persen ke nilai Harga). |
=[Quantity]*[Price] |
Hasil kali nilai bidang atau kontrol Kuantitas dan Harga. |
=[EmployeeTotal]/[CountryRegionTotal] |
Hasil bagi nilai bidang atau kontrol TotalPegawai dan TotalKawasanNegara. |
Catatan
Saat Anda menggunakan operator aritmetika (+, -, , *atau /) dalam ekspresi dan salah satu kontrol adalah null, hasil dari seluruh ekspresi adalah null. Ini dikenal sebagai penyebaran null. Jika kontrol mungkin memiliki nilai null, Anda dapat menghindari penyebaran null menggunakan fungsi Nz untuk mengonversi nilai null menjadi nol. Misalnya, gunakan =Nz([Subtotal])+Nz([Freight]).
Nilai dalam kontrol lainnya
Terkadang, Anda membutuhkan nilai yang ada di tempat lain, seperti dalam bidang atau kontrol di formulir atau laporan lain. Anda dapat menggunakan ekspresi untuk mengembalikan nilai dari bidang atau kontrol lain.
Tabel berikut mencantumkan contoh ekspresi yang dapat Anda gunakan dalam kontrol terhitung pada formulir.
| Ekspresi | Hasil |
|---|---|
=Forms![Orders]![OrderID] |
Nilai kontrol IDPesanan di formulir Pesanan. |
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] |
Nilai kontrol SubtotalPesanan di subformulir bernama Subformulir Pesanan di formulir Pesanan. |
=Forms![Orders]![Orders Subform]![ProductID].Column(2) |
Nilai dari kolom ketiga dalam IDProduk, kotak daftar beberapa kolom di subformulir bernama Subformulir Pesanan di formulir Pesanan. (Perhatikan bahwa 0 merujuk ke kolom pertama, 1 merujuk ke kolom kedua, dan seterusnya.) |
=Forms![Orders]![Orders Subform]![Price] * 1.06 |
Produk dari nilai kontrol Harga di subformulir bernama Subformulir Pesanan di formulir Pesanan dan 1,06 (menambahkan 6 persen ke nilai kontrol Harga). |
=Parent![OrderID] |
Nilai kontrol IDPesanan di formulir utama atau induk subformulir saat ini. |
Ekspresi dalam tabel berikut ini memperlihatkan beberapa cara untuk menggunakan kontrol terhitung pada laporan. Ekspresi merujuk pada Properti Laporan.
| Ekspresi | Hasil |
|---|---|
=Report![Invoice]![OrderID] |
Nilai kontrol disebut "IDPesanan" dalam laporan yang disebut "Faktur." |
=Report![Summary]![Summary Subreport]![SalesTotal] |
Nilai kontrol TotalPenjualan pada sublaporan bernama Sublaporan Ringkasan pada laporan Ringkasan. |
=Parent![OrderID] |
Nilai kontrol IDPesanan pada laporan utama atau induk laporan sublaporan saat ini. |
Menghitung, menjumlahkan, dan menghitung rata-rata nilai
Anda dapat menggunakan tipe fungsi yang disebut fungsi agregat untuk menghitung nilai untuk satu atau beberapa bidang atau kontrol. Misalnya, Anda dapat menghitung total grup untuk footer grup dalam laporan, atau subtotal pesanan untuk item baris di formulir. Anda juga dapat menghitung jumlah item dalam satu atau beberapa bidang atau menghitung nilai rata-rata.
Ekspresi dalam tabel berikut ini memperlihatkan beberapa cara untuk menggunakan fungsi seperti Avg, Count, dan Sum.
| Ekspresi | Deskripsi |
|---|---|
=Avg([Freight]) |
Menggunakan fungsi Avg untuk menampilkan rata-rata nilai bidang tabel atau kontrol yang bernama "Pengangkutan." |
=Count([OrderID]) |
Menggunakan fungsi Count untuk menampilkan jumlah data dalam kontrol IDPesanan. |
=Sum([Sales]) |
Menggunakan fungsi Sum untuk menampilkan jumlah nilai kontrol Penjualan. |
=Sum([Quantity]*[Price]) |
Menggunakan fungsi Sum untuk menampilkan jumlah hasil kali dari nilai kontrol Kuantitas dan Harga. |
=[Sales]/Sum([Sales])*100 |
Menampilkan persentase penjualan dengan membadingkan nilai Sales kontrol dengan jumlah semua nilai dalam Sales kontrol. Jika Anda mengatur Format properti kontrol ke Percent, jangan sertakan *100 dalam ekspresi. |
Untuk informasi selengkapnya tentang menggunakan fungsi agregat dan menjumlahkan nilai dalam bidang dan kolom, lihat artikel Menjumlahkan data menggunakan kueri, Menghitung data menggunakan kueri, Menampilkan total kolom dalam lembar data menggunakan baris Total, dan Menampilkan total kolom dalam lembar data.
Fungsi agregat SQL
Anda menggunakan tipe fungsi yang disebut fungsi SQL atau agregat domain ketika perlu menjumlahkan atau menghitung nilai secara selektif. Sebuah "domain" terdiri dari satu atau beberapa bidang dalam satu atau beberapa tabel, atau satu atau beberapa kontrol di satu atau beberapa formulir atau laporan. Misalnya, Anda dapat menyesuaikan nilai dalam bidang tabel dengan nilai dalam kontrol di formulir.
| Ekspresi | Deskripsi |
|---|---|
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) |
Menggunakan fungsi DLookup untuk mendapatkan nilai bidang NamaKontak dalam tabel Pemasok ketika nilai bidang IDPemasok dalam tabel cocok dengan nilai kontrol IDPemasok di formulir Pemasok. |
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) |
Menggunakan fungsi DLookup untuk mendapatkan nilai dari bidang NamaKontak dalam tabel Pemasok ketika nilai bidang IDPemasok dalam tabel cocok dengan nilai kontrol IDPemasok di formulir Pemasok Baru. |
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") |
Menggunakan fungsi DSum untuk mendapatkan total jumlah nilai dalam bidang JumlahPesanan dalam tabel Pesanan ketika IDPelanggan adalah RATTC. |
=DCount("[Retired]","[Assets]","[Retired]=Yes") |
Menggunakan fungsi DCount untuk mendapatkan jumlah nilai Ya di bidang Dihentikan (bidang Ya/Tidak) dalam tabel Aset. |
Operasi tanggal
Melacak tanggal dan waktu merupakan aktivitas mendasar untuk database. Misalnya, Anda dapat menghitung hari yang telah berlalu sejak tanggal faktur untuk menghitung piutang dagang. Anda dapat memformat tanggal dan waktu dalam berbagai cara, seperti yang diperlihatkan dalam tabel berikut ini.
| Ekspresi | Deskripsi |
|---|---|
=Date() |
Menggunakan fungsi Date untuk menampilkan tanggal saat ini dalam bentuk mm-dd-yy, di mana mm bulan (1 sampai 12), dd adalah hari (1 sampai 31), dan yy merupakan dua digit terakhir dalam setahun (1980 hingga 2099). |
=Format(Now(), "ww") |
Menggunakan fungsi Format untuk menampilkan jumlah minggu dalam setahun untuk tanggal saat ini, di mana ww menunjukkan minggu 1 sampai 53. |
=DatePart("yyyy", [OrderDate]) |
Menggunakan fungsi DatePart untuk menampilkan empat digit tahun dari nilai kontrol TanggalPesanan. |
=DateAdd("y", -10, [PromisedDate]) |
Menggunakan fungsi DateAdd untuk menampilkan tanggal 10 hari sebelum nilai kontrol TanggalDijanjikan. |
=DateDiff("d", [OrderDate], [ShippedDate]) |
Menggunakan fungsi DateDiff untuk menampilkan selisih hari antara nilai kontrol TanggalPemesanan dan TanggalPengiriman. |
=[InvoiceDate] + 30 |
Menggunakan operasi aritmetika pada tanggal untuk menghitung tanggal 30 hari setelah tanggal dalam bidang atau kontrol TanggalFaktur. |
Kondisi dari dua nilai saja
Contoh ekspresi dalam tabel berikut ini menggunakan fungsi IIf untuk mendapatkan satu dari dua nilai yang mungkin. Anda melewati fungsi IIf tiga argumen: Argumen pertama adalah ekspresi yang harus mengembalikan atau TrueFalse nilai. Argumen kedua adalah nilai yang akan diberikan jika ekspresi benar, dan argumen ketiga adalah nilai yang akan diberikan jika ekspresi salah.
| Ekspresi | Deskripsi |
|---|---|
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") |
Menggunakan fungsi IIf (Immediate If) untuk menampilkan pesan "Order Confirmed" jika nilai kontrol Dikonfirmasi adalah Yes; jika tidak, pesan akan menampilkan pesan "Order Not Confirmed." |
=IIf(IsNull([Country/region]), " ", [Country]) |
Menggunakan fungsi IIf dan IsNull untuk menampilkan string kosong jika nilai kontrol Negara/kawasan null; jika tidak, menampilkan nilai kontrol Negara/kawasan. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
Menggunakan fungsi IIf dan IsNull untuk menampilkan nilai kontrol Kota dan KodePos jika nilai dalam kontrol Kawasan null; jika tidak, menampilkan nilai kontrol Kota, Kawasan, dan KodePos. |
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
Menggunakan fungsi IIf dan IsNull untuk menampilkan pesan "Periksa tanggal yang hilang" jika hasil dari mengurangi TanggalPengiriman dari TanggalDiperlukan null; jika tidak, menampilkan interval antara nilai tanggal kontrol TanggalDiperlukan dan TanggalPengiriman. |
Kueri dan filter
Bagian ini berisi contoh ekspresi yang dapat Anda gunakan untuk membuat bidang terhitung dalam kueri atau untuk memasukkan kriteria ke kueri. Bidang terhitung adalah kolom dalam kueri yang merupakan hasil dari ekspresi. Misalnya, Anda dapat menghitung nilai, memadukan nilai teks seperti nama depan dan belakang, atau memformat sebagian tanggal.
Anda menggunakan kriteria dalam kueri untuk membatasi data yang Anda kerjakan. Misalnya, Anda bisa menggunakan Between operator untuk memasukkan tanggal mulai dan berakhir dan membatasi hasil kueri Anda untuk pesanan yang dikirim di antara tanggal tersebut.
Bagian berikut ini menyediakan contoh ekspresi untuk digunakan dalam kueri.
Operasi teks dalam kueri
Ekspresi dalam tabel berikut ini menggunakan & operator dan + untuk menggabungkan string teks, menggunakan fungsi bawaan untuk beroperasi pada string teks, atau beroperasi pada teks untuk membuat bidang terhitung.
| Ekspresi | Deskripsi |
|---|---|
FullName: [FirstName] & " " & [LastName] |
Membuat bidang yang disebut NamaLengkap yang menampilkan nilai dalam bidang NamaDepan dan NamaBelakang, dipisahkan dengan spasi. |
Address2: [City] & " " & [Region] & " " & [PostalCode] |
Membuat bidang yang disebut Alamat2, menampilkan nilai dalam bidang Kota, Kawasan, dan KodePos, dipisahkan dengan spasi. |
ProductInitial: Left([ProductName], 1) |
Membuat bidang yang disebut InisialProduk, lalu menggunakan fungsi Left untuk menampilkan, dalam bidang InisialProduk, karakter pertama dari nilai dalam bidang NamaProduk. |
TypeCode: Right([AssetCode], 2) |
Membuat bidang yang disebut KodeTipe, lalu menggunakan fungsi Right untuk menampilkan dua karakter terakhir nilai dalam bidang KodeAset. |
AreaCode: Mid([Phone],2,3) |
Membuat bidang yang disebut KodeArea, lalu menggunakan fungsi Mid untuk menampilkan tiga karakter yang dimulai dengan karakter kedua dari nilai dalam bidang Telepon. |
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 |
Memberi nama HargaTotal pada bidang terhitung, lalu menggunakan fungsi CCur untuk menghitung total item baris dengan diskon yang diberikan. |
Operasi aritmetika dalam kueri
Anda dapat menggunakan ekspresi untuk menambah, mengurangi, mengalikan, dan membagi nilai pada dua atau beberapa bidang atau kontrol. Anda juga dapat menggunakan operasi aritmetika pada tanggal. Misalnya, anggaplah Anda memiliki bidang Tanggal/Waktu bernama TanggalDiperlukan. Ekspresi =[RequiredDate] - 2 mengembalikan nilai Tanggal/Waktu sama dengan dua hari sebelum nilai dalam bidang TanggalDiperlukan.
| Ekspresi | Deskripsi |
|---|---|
PrimeFreight: [Freight] * 1.1 |
Membuat bidang yang disebut PrimeFreight, lalu menampilkan biaya pengangkutan plus 10 persen dalam bidang. |
OrderAmount: [Quantity] * [UnitPrice] |
Membuat bidang yang disebut JumlahPesanan, lalu menampilkan produk nilai dalam bidang Kuantitas dan HargaSatuan. |
LeadTime: [RequiredDate] - [ShippedDate] |
Membuat bidang yang disebut WaktuTenggang, lalu menampilkan selisih antara nilai-nilai dalam bidang TanggalDiperlukan dan TanggalPengiriman. |
TotalStock: [UnitsInStock]+[UnitsOnOrder] |
Membuat bidang yang disebut StokTotal, lalu menampilkan jumlah nilai dalam bidang UnitTersedia dan UnitSedangDipesan. |
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 |
Membuat bidang yang disebut FreightPercentage, lalu menampilkan persentase biaya pengangkutan di setiap subtotal. Ekspresi ini menggunakan Sum fungsi untuk menjumlahkan nilai dalam Freight bidang lalu membagi total tersebut dengan jumlah nilai dalam Subtotal bidang. Untuk menggunakan ekspresi ini, konversi kueri pemilihan Anda menjadi kueri Total. Anda perlu menggunakan baris Total di kisi desain dan mengatur sel Total untuk bidang ini menjadi Expression. Untuk informasi selengkapnya tentang membuat kueri Total, lihat Menjumlahkan data menggunakan kueri. Jika Anda mengatur Format properti bidang ke Percent, jangan sertakan *100. |
Untuk informasi selengkapnya tentang menggunakan fungsi agregat dan menjumlahkan nilai dalam bidang dan kolom, lihat artikel Menjumlahkan data menggunakan kueri, Menghitung data menggunakan kueri, Menampilkan total kolom dalam lembar data menggunakan baris Total, dan Menampilkan total kolom dalam lembar data.
Operasi tanggal dalam kueri
Hampir semua database menyimpan dan melacak waktu dan tanggal. Anda bekerja dengan tanggal dan waktu di Access dengan mengatur bidang tanggal dan waktu dalam tabel tipe Tanggal/Waktu. Access dapat melakukan perhitungan aritmetika pada tanggal; misalnya, menghitung berapa hari yang telah berlalu sejak tanggal faktur untuk menghitung piutang dagang.
| Ekspresi | Deskripsi |
|---|---|
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) |
Membuat bidang yang disebut WaktuTunda, lalu menggunakan fungsi DateDiff untuk menampilkan jumlah hari antara tanggal pesanan dan tanggal pengiriman. |
YearHired: DatePart("yyyy",[HireDate]) |
Membuat bidang bernama TahunBekerja, lalu menggunakan fungsi DatePart untuk menampilkan tahun setiap karyawan dipekerjakan. |
MinusThirty: Date( )- 30 |
Membuat bidang bernama MinusTigaPuluh, lalu menggunakan fungsi Date untuk menampilkan tanggal 30 hari sebelum tanggal saat ini. |
Fungsi agregat SQL dalam kueri
Ekspresi dalam tabel berikut ini menggunakan fungsi SQL yang menggabungkan atau meringkas data. Anda sering melihat fungsi seperti Sum, Count, dan Avg disebut sebagai fungsi agregat.
Selain fungsi agregat, Access juga menyediakan fungsi agregat domain yang memungkinkan Anda menjumlahkan atau menghitung nilai secara selektif. Misalnya, Anda dapat menghitung hanya nilai dalam rentang tertentu atau mencari nilai dari tabel yang lain. Fungsi agregat domain mencakup DSum, DCount, dan DAvg.
Untuk menghitung total, Anda sering kali perlu membuat kueri Total. Misalnya, untuk meringkas menurut grup, gunakan kueri Total. Untuk mengaktifkan kueri Total dari kisi desain kueri, pilih Total pada menu Tampilan .
| Ekspresi | Deskripsi |
|---|---|
RowCount: Count(*) |
Membuat bidang yang disebut HitunganBaris, lalu menggunakan fungsi Count untuk menghitung jumlah catatan dalam kueri, termasuk catatan dengan bidang null (kosong). |
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 |
Membuat bidang yang disebut FreightPercentage, lalu menghitung persentase biaya pengangkutan di setiap subtotal dengan membagi jumlah nilai dalam Freight bidang dengan jumlah nilai dalam Subtotal bidang. Contoh ini menggunakan fungsi tersebut Sum . Anda harus menggunakan ekspresi ini dengan kueri Total. Jika Anda mengatur Format properti bidang ke Percent, jangan sertakan *100. Untuk informasi selengkapnya tentang membuat kueri Total, lihat Menjumlahkan data menggunakan kueri. |
AverageFreight: DAvg("[Freight]", "[Orders]") |
Membuat bidang yang disebut PengangkutanRata-Rata, lalu menggunakan fungsi DAvg untuk menghitung rata-rata pengangkutan pada semua pesanan yang digabungkan dalam kueri Total. |
Bidang dengan data yang hilang
Ekspresi yang ditampilkan di sini berfungsi dengan bidang dengan informasi yang kemungkinan hilang, seperti nilai yang berisi null (tidak diketahui atau tidak terdefinisi). Anda seringkali menemukan nilai null, seperti harga yang tidak diketahui untuk produk yang baru atau nilai yang lupa ditambahkan seorang rekan pada pesanan. Kemampuan untuk menemukan dan memproses nilai null dapat menjadi bagian penting dari operasi database, dan ekspresi dalam tabel berikut menunjukkan beberapa cara yang umum digunakan untuk menangani nilai null.
| Ekspresi | Deskripsi |
|---|---|
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) |
Membuat bidang yang disebut KawasanNegaraSaatIni, lalu menggunakan fungsi IIf dan IsNull untuk menampilkan string kosong dalam bidang itu bila bidang KawasanNegara berisi nilai null; jika tidak, menampilkan konten bidang KawasanNegara. |
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
Membuat bidang yang disebut WaktuTenggang, lalu menggunakan fungsi IIf dan IsNull untuk menampilkan pesan "Periksa tanggal yang hilang" jika nilai dalam bidang TanggalDiperlukan atau bidang TanggalPengiriman null; jika tidak, menampilkan selisih tanggal. |
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) |
Membuat bidang yang disebut PenjualanEnamBulan, lalu menampilkan jumlah total dari nilai dalam bidang Qtr1Sales dan Qtr2Sales menggunakan fungsi Nz untuk mengonversi setiap nilai null menjadi nol. |
Bidang terhitung dengan subkueri
Anda dapat menggunakan kueri bertumpuk, juga disebut subkueri, untuk membuat bidang terhitung. Ekspresi dalam tabel berikut ini merupakan satu contoh dari bidang terhitung yang merupakan hasil dari subkueri.
| Ekspresi | Deskripsi |
|---|---|
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) |
Membuat bidang yang disebut Kat, lalu menampilkan NamaKategori, jika IDKategori dari tabel Kategori sama dengan IDKategori dari tabel Produk. |
Mencocokkan nilai teks
Ekspresi contoh dalam tabel ini menunjukkan kriteria yang sesuai dengan keseluruhan atau sebagian nilai teks.
| Bidang | Ekspresi | Deskripsi |
|---|---|---|
| KotaPengiriman | "London" |
Menampilkan pesanan yang dikirim ke London. |
| KotaPengiriman | "London" Or "Hedge End" |
Or Menggunakan operator untuk menampilkan pesanan yang dikirim ke London atau Hedge End. |
| KawasanNegaraPengiriman | In("Canada", "UK") |
In Menggunakan operator untuk menampilkan pesanan yang dikirim ke Kanada atau Inggris. |
| KawasanNegaraPengiriman | Not "USA" |
Not Menggunakan operator untuk menampilkan pesanan yang dikirim ke negara/kawasan selain AS. |
| NamaProduk | Not Like "C*" |
Not Menggunakan operator dan * karakter wildcard untuk menampilkan produk yang namanya tidak dimulai dengan C. |
| NamaPerusahaan | >="N" |
Menampilkan pesanan yang dikirim ke perusahaan yang namanya dimulai dengan huruf N melalui Z. |
| KodeProduk | Right([ProductCode], 2)="99" |
Menggunakan fungsi Right untuk menampilkan pesanan dengan nilai ProductCode yang berakhiran 99. |
| NamaPengiriman | Like "S*" |
Menampilkan pesanan yang dikirim ke pelanggan yang namanya dimulai dengan huruf S. |
Mencocokkan kriteria tanggal
Ekspresi dalam tabel berikut ini menunjukkan penggunaan tanggal dan fungsi-fungsi yang terkait dalam ekspresi kriteria. Untuk informasi selengkapnya tentang memasukkan dan menggunakan nilai tanggal, lihat artikel Memformat bidang tanggal atau waktu.
| Bidang | Ekspresi | Deskripsi |
|---|---|---|
| TanggalPengiriman | #2/2/2017# |
Menampilkan pesanan yang dikirim pada tanggal 2 Februari 2017. |
| TanggalPengiriman | Date() |
Menampilkan pesanan yang dikirim hari ini. |
| TanggalDiperlukan | Between Date( ) And DateAdd("m", 3, Date( )) |
Between...And Menggunakan operator dan fungsi DateAdd dan Date untuk menampilkan pesanan yang diperlukan antara tanggal hari ini dan tiga bulan dari tanggal hari ini. |
| TanggalPesanan | < Date( ) - 30 |
Menggunakan fungsi Date untuk menampilkan pesanan yang lebih dari 30 hari. |
| TanggalPesanan | Year([OrderDate])=2017 |
Menggunakan fungsi Year untuk menampilkan pesanan dengan tanggal pesanan pada tahun 2017. |
| TanggalPesanan | DatePart("q", [OrderDate])=4 |
Menggunakan fungsi DatePart untuk menampilkan pesanan untuk kuartal kalender keempat. |
| TanggalPesanan | DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 |
Menggunakan fungsi DateSerial, Year, dan Month untuk menampilkan pesanan untuk hari terakhir setiap bulan. |
| TanggalPesanan | Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) |
Menggunakan fungsi Year dan Month serta operator And untuk menampilkan pesanan untuk tahun dan bulan saat ini. |
| TanggalPengiriman | Between #1/5/2017# And #1/10/2017# |
Between...AndMenggunakan operator untuk menampilkan pesanan yang dikirim tidak lebih awal dari 5-Jan-2017 dan tidak lebih lambat dari 10-Jan-2017. |
| TanggalDiperlukan | Between Date( ) And DateAdd("M", 3, Date( )) |
Between...And Menggunakan operator untuk menampilkan pesanan yang diperlukan antara tanggal hari ini dan tiga bulan dari tanggal hari ini. |
| TanggalLahir | Month([BirthDate])=Month(Date()) |
Menggunakan fungsi Month dan Date untuk menampilkan karyawan yang berulang tahun bulan ini. |
Menemukan data yang hilang
Ekspresi dalam tabel berikut ini berfungsi dengan bidang yang memiliki informasi berpotensi hilang, yaitu bidang yang mungkin berisi nilai null atau string dengan panjang nol. Nilai null mewakili hilangnya informasi; tidak mewakili nilai nol atau nilai apa pun. Access mendukung gagasan hilangnya informasi ini karena konsepnya penting bagi integritas database. Di dunia nyata, informasi sering hilang, bahkan jika hanya untuk sementara waktu (misalnya, harga yang belum ditentukan untuk produk baru). Oleh karena itu, database yang merujuk entitas nyata, seperti bisnis, harus dapat merekam informasi yang hilang. Anda dapat menggunakan fungsi IsNull untuk menentukan apakah bidang atau kontrol berisi nilai null, dan juga dapat menggunakan fungsi Nz untuk mengonversi nilai null menjadi nol.
| Bidang | Ekspresi | Deskripsi |
|---|---|---|
| KawasanPengiriman | Is Null |
Menampilkan pesanan untuk pelanggan yang bidang KawasanPengirimannya null (hilang). |
| KawasanPengiriman | Is Not Null |
Menampilkan pesanan untuk pelanggan yang bidang KawasanPengirimannya berisi nilai. |
| Faks | "" |
Menampilkan pesanan untuk pelanggan yang tidak memiliki mesin faks, yang ditunjukkan dengan nilai string dengan pankang nol dalam bidang Faks dan bukan nilai null (hilang). |
Mencocokkan pola data dengan Like
Like Operator memberikan banyak fleksibilitas saat Anda mencoba mencocokkan baris yang mengikuti pola, karena Anda bisa menggunakan Like dengan karakter wildcard dan menentukan pola agar Access cocok. Misalnya, * karakter wildcard (tanda bintang) cocok dengan urutan karakter tipe apa pun, dan memudahkan untuk menemukan semua nama yang dimulai dengan huruf. Misalnya, Anda menggunakan ekspresi Like "S*" untuk menemukan semua nama yang dimulai dengan huruf S. Untuk informasi selengkapnya, lihat artikel Operator Suka.
| Bidang | Ekspresi | Deskripsi |
|---|---|---|
| NamaPengiriman | Like "S*" |
Menemukan semua catatan dalam bidang NamaPengiriman yang dimulai dengan huruf S. |
| NamaPengiriman | Like "*Imports" |
Menemukan semua catatan dalam bidang NamaPengiriman yang berakhir dengan kata “Imports”. |
| NamaPengiriman | Like "[A-D]*" |
Menemukan semua catatan dalam bidang NamaPengiriman yang dimulai dengan huruf A, B, C, atau D. |
| NamaPengiriman | Like "*ar*" |
Menemukan semua catatan dalam bidang NamaPengiriman yang menyertakan urutan huruf “ar”. |
| NamaPengiriman | Like "Maison Dewe?" |
Menemukan semua catatan dalam bidang ShipName yang menyertakan "Maison" di bagian pertama nilai dan string lima huruf ketika keempat huruf pertama adalah "Dewe" dan huruf terakhir tidak diketahui. |
| NamaPengiriman | Not Like "A*" |
Menemukan semua data dalam bidang NamaPengiriman yang tidak dimulai dengan huruf A. |
Mencocokkan baris dengan agregat SQL
Anda menggunakan fungsi SQL atau agregat domain ketika perlu menjumlahkan, menghitung, atau merata-rata nilai secara selektif. Misalnya, Anda mungkin ingin menghitung hanya nilai-nilai yang berada dalam rentang tertentu, atau yang setelah dievaluasi menghasilkan Ya. Di lain waktu, Anda mungkin perlu mencari nilai dari tabel yang lain sehingga dapat menampilkannya. Ekspresi contoh dalam tabel berikut ini menggunakan fungsi-fungsi agregat domain untuk melakukan perhitungan pada satu rangkaian nilai, dan menggunakan hasilnya sebagai kriteria kueri.
| Bidang | Ekspresi | Deskripsi |
|---|---|---|
| Pengangkutan | > (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) |
Menggunakan fungsi DStDev dan DAvg untuk menampilkan semua pesanan yang biaya pengangkutannya meningkat melebihi rata-rata plus deviasi standar biaya pengangkutan. |
| Kuantitas | > DAvg("[Quantity]", "[Order Details]") |
Menggunakan fungsi DAvg untuk menampilkan produk yang dipesan dalam kuantitas di atas kuantitas pesanan rata-rata. |
Mencocokkan bidang dengan subkueri
Anda menggunakan subkueri, juga disebut kueri bertumpuk, untuk menghitung nilai untuk digunakan sebagai kriteria. Ekspresi contoh dalam tabel berikut ini cocok dengan baris berdasarkan hasil yang diberikan oleh subkueri.
| Bidang | Ekspresi | Tampilan |
|---|---|---|
| HargaSatuan | (SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") |
Produk yang harganya sama seperti harga Andiseed Syrup. |
| HargaSatuan | >(SELECT AVG([UnitPrice]) FROM [Products]) |
Produk yang memiliki harga satuan di atas rata-rata. |
| Gaji | > ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) |
Gaji setiap perwakilan penjualan yang gajinya lebih tinggi dari semua karyawan dengan jabatan “Manager” atau “Vice President”. |
| OrderTotal: [UnitPrice] * [Quantity] | > (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details]) |
Pesanan dengan total yang lebih tinggi daripada rata-rata nilai pesanan. |
Memperbarui kueri
Gunakan kueri pembaruan untuk mengubah data dalam satu atau beberapa bidang yang sudah ada dalam database. Misalnya, Anda dapat mengganti nilai atau menghapus seluruhnya. Tabel ini memperlihatkan beberapa cara untuk menggunakan ekspresi dalam kueri pembaruan. Gunakan ekspresi ini di Update To baris dalam kisi desain kueri untuk bidang yang ingin Anda perbarui.
Untuk informasi selengkapnya tentang membuat kueri pembaruan, lihat artikel Membuat dan menjalankan kueri pembaruan.
| Bidang | Ekspresi | Hasil |
|---|---|---|
| Judul | "Salesperson" |
Mengubah nilai teks menjadi Salesperson. |
| MulaiProyek | #8/10/17# |
Mengubah nilai tanggal menjadi 10-Ags-17. |
| Dihentikan | Yes |
Mengubah nilai No dalam bidang Yes/No menjadi Yes. |
| NomorBagian | "PN" & [PartNumber] |
Menambahkan PN ke awal tiap bagian angka yang ditentukan. |
| TotalItemBaris | [UnitPrice] * [Quantity] |
Menghitung produk dari HargaSatuan dan Kuantitas. |
| Pengangkutan | [Freight] * 1.5 |
Menambah biaya pengangkutan sebesar 50 persen. |
| Penjualan | DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) |
Bila nilai IDProduk di tabel saat ini cocok dengan nilai IDProduk di tabel Detail Pesanan, memperbarui total penjualan berdasarkan hasil kali Kuantitas dan SatuanHarga. |
| KodePosPengiriman | Right([ShipPostalCode], 5) |
Memotong karakter paling kiri, meninggalkan lima karakter paling kanan. |
| HargaSatuan | Nz([UnitPrice]) |
Mengubah nilai null (tidak diketahui atau tidak terdefinisi) menjadi nilai nol (0) dalam bidang HargaSatuan. |
Pernyataan SQL
Bahasa Permintaan Terstruktur (SQL) adalah bahasa kueri yang digunakan Access. Setiap kueri yang Anda buat dalam tampilan Desain Kueri juga bisa diekspresikan dengan menggunakan SQL. Untuk melihat pernyataan SQL untuk kueri apa pun, pilih Tampilan SQL pada menu Tampilan . Tabel berikut ini memperlihatkan contoh pernyataan SQL yang menggunakan ekspresi.
| Pernyataan SQL yang menggunakan ekspresi | Hasil |
|---|---|
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; |
Menampilkan nilai dalam bidang NamaDepan dan NamaBelakang untuk karyawan dengan nama belakang Danseglio. |
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; |
Menampilkan nilai dalam bidang IDProduk dan NamaProduk dalam tabel Produk untuk catatan ketika nilai IDKategori sesuai dengan nilai IDKategori yang disebutkan dalam formulir Produk Baru terbuka. |
SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000; |
Menghitung rata-rata harga diperpanjang untuk pesanan yang nilainya dalam bidang HargaDiperpanjang lebih dari 1.000, dan menampilkannya dalam bidang bernama Harga Diperpanjang Rata-Rata. |
SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; |
Dalam bidang bernama HitunganIDProduk, menampilkan jumlah total produk untuk kategori dengan lebih dari 10 produk. |
Ekspresi tabel
Dua cara penggunaan ekspresi yang paling umum dalam tabel adalah dengan menetapkan nilai default dan membuat aturan validasi.
Nilai default bidang
Saat mendesain database, Anda mungkin ingin menetapkan nilai default untuk bidang atau kontrol. Access lalu menyediakan nilai tersebut saat rekaman baru yang berisi bidang dibuat atau ketika objek yang berisi kontrol dibuat. Ekspresi dalam tabel berikut ini memperlihatkan nilai default sampel untuk bidang atau kontrol. Jika kontrol terikat ke bidang dalam tabel dan bidang memiliki nilai default, nilai default kontrol diutamakan.
| Bidang | Ekspresi | Nilai bidang default |
|---|---|---|
| Kuantitas | 1 |
1 |
| Kawasan | "MT" |
MT |
| Kawasan | "New York, N.Y." |
New York, N.Y. (Perhatikan bahwa Anda harus mengapit nilai dalam tanda kutip jika menyertakan tanda baca.) |
| Faks | "" |
String dengan panjang nol untuk mengindikasikan bahwa, secara default, bidang ini harus kosong dan bukan berisi nilai null |
| Tanggal Pemesanan | Date( ) |
Tanggal hari ini |
| BatasTanggal | Date() + 60 |
Tanggal 60 hari ke depan dari sekarang |
Aturan validasi bidang
Anda dapat membuat aturan validasi untuk bidang atau kontrol menggunakan ekspresi. Access lalu memberlakukan aturan tersebut saat data dimasukkan ke dalam bidang atau kontrol. Untuk membuat aturan validasi, ubah ValidationRule properti bidang atau kontrol. Anda juga harus mempertimbangkan pengaturan ValidationText properti, yang berisi teks yang ditampilkan Access saat aturan validasi dilanggar. Jika tidak mengatur ValidationText properti, Access akan menampilkan pesan kesalahan default.
Contoh dalam tabel berikut ini memperlihatkan ekspresi aturan validasi untuk ValidationRule properti dan teks terkait untuk properti.ValidationText
| Properti ValidationRule | Properti ValidationText |
|---|---|
<> 0 |
Masukkan nilai bukan nol. |
0 Or > 100 |
Nilai harus 0 atau lebih besar dari 100. |
Like "K???" |
Nilai harus empat karakter, dimulai dengan huruf K. |
< #1/1/2017# |
Masukkan tanggal sebelum 1/1/2017. |
>= #1/1/2017# And < #1/1/2008# |
Tanggal harus terjadi pada tahun 2017. |
Untuk informasi selengkapnya tentang mengesahkan data, lihat artikel Membuat aturan pengesahan untuk mengesahkan data dalam bidang.
Ekspresi makro
Dalam beberapa kasus, Anda mungkin ingin melakukan tindakan atau serangkaian tindakan di makro hanya jika kondisi tertentu benar. Misalnya, anggaplah Anda ingin tindakan untuk dijalankan hanya ketika nilai kotak teks Counter adalah 10. Anda menggunakan ekspresi untuk menentukan kondisi dalam blok If:
[Counter]=10
Sama halnya ValidationRule dengan properti, ekspresi dalam blok If adalah ekspresi bersyarah. Ini harus diatasi dengan baik True atau False. Tindakan terjadi hanya jika kondisi benar.
| Gunakan ekspresi ini untuk menjalankan tindakan | Jika |
|---|---|
[City]="Paris" |
Paris adalah nilai Kota dalam bidang pada formulir yang menjadi tempat makro dijalankan. |
DCount("[OrderID]", "Orders") > 35 |
Ada lebih dari 35 entri dalam bidang IDPesanan dari tabel Pesanan. |
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3 |
Ada lebih dari tiga entri di dalam tabel Detail Pesanan ketika bidang IDPesanan tabel cocok dengan bidang IDOrder di formulir Pesanan. |
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# |
Nilai bidang TanggalPengiriman di formulir yang menjadi tempat makro dijalankan adalah setelah 2-Feb-2017 dan sebelum 2-Mar-2017. |
Forms![Products]![UnitsInStock] < 5 |
Nilai bidang UnitTersedia pada formulir Produk adalah kurang dari 5. |
IsNull([FirstName]) |
Nilai NamaDepan di formulir yang menjalankan makro null (tidak memiliki nilai). Ekspresi ini setara dengan [FirstName] Is Null. |
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100 |
Nilai dalam bidang KawasanNegara di formulir yang menjalankan makro adalah UK, dan nilai bidang TotalOrds di formulir TotalPenjualan lebih besar dari 100. |
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5 |
Nilai dalam bidang KawasanNegara di formulir yang menjalankan makro adalah Prancis, Italia, atau Spanyol, dan kode pos tidak lebih dari 5 karakter. |
MsgBox("Confirm changes?",1)=1 |
Klik OK dalam kotak dialog yang menampilkan fungsi MsgBox. Jika Anda mengklik Cancel dalam kotak dialog, Access mengabaikan tindakan. |