Artikel ini menyediakan banyak contoh ekspresi dalam Access. Ekspresi adalah kombinasi operator, konstanta, fungsi, bidang tabel, kontrol, dan properti matematika atau logika yang setelah dievaluasi menghasilkan satu nilai. Anda bisa menggunakan ekspresi di Access untuk menghitung nilai, memvalidasi data, dan mengatur nilai default.
Di artikel ini
Formulir dan laporan
Tabel di bagian ini menyediakan contoh ekspresi yang menghitung nilai dalam kontrol yang terletak pada formulir atau laporan. Untuk membuat kontrol terhitung, masukkan ekspresi dalam properti ControlSource kontrol, dan bukan dalam bidang tabel atau kueri.
Catatan Anda juga dapat menggunakan ekspresi dalam formulir atau laporan ketika Menyoroti data dengan pemformatan bersyarat.
Operasi teks
Ekspresi dalam tabel berikut ini menggunakan operator & (ampersand) dan + (plus) untuk menggabungkan string teks, yang adalah fungsi bawaan untuk memanipulasi string teks, atau beroperasi pada teks untuk 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 tanda kutip), dan bidang NamaBelakang. |
=Left([ProductName], 1) |
Menggunakan fungsi Left untuk menampilkan karakter pertama dari nilai bidang atau kontrol yang bernama NamaProduk. |
=Right([AssetCode], 2) |
Menggunakan fungsi Right untuk menampilkan 2 karakter terakhir nilai dalam bidang atau kontrol yang bernama KodeAset. |
=Trim([Address]) |
Menggunakan fungsi Trim untuk menampilkan nilai kontrol Alamat, menghapus spasi di depan atau di belakang. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
Menggunakan fungsi IIf untuk menampilkan nilai kontrol Kota dan KodePos jika nilai dalam kontrol Kawasan null; jika tidak, menampilkan nilai kontrol Kota, Kawasan, dan KodePos, dipisahkan dengan spasi. |
=[City] & (" " + [Region]) & " " & [PostalCode] |
Menggunakan operator IIf dan penyebaran null untuk menampilkan nilai kontrol Kota dan KodePos jika nilai dalam bidang atau kontrol Kawasan null; jika tidak, menampilkan nilai bidang atau kontrol Kota, Kawasan, dan KodePos, dipisahkan dengan spasi. Penyebaran null berarti bahwa jika salah satu komponen ekspresi null, keseluruhan ekspresi juga null. Operator + mendukung penyebaran null; operator & tidak. |
Header dan footer
Anda menggunakan properti Page dan Pages untuk menampilkan atau mencetak nomor halaman di formulir atau laporan. Properti Page dan Pages tersedia hanya selama pencetakan atau pratinjau cetak, sehingga tidak muncul di lembar properti untuk formulir atau laporan. Biasanya, Anda menggunakan properti ini dengan 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 menghasilkan nilai tanggal/waktu yang 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 Ketika Anda menggunakan operator aritmetika (+, -, *, dan /) dalam sebuah ekspresi, dan nilai dari salah satu kontrol dalam ekspresi null, hasil dari keseluruhan ekspresi akan null. Hal ini dikenal sebagai penyebaran Null. Jika suatu data dalam kontrol yang digunakan dalam ekspresi mungkin memiliki nilai null, Anda dapat menghindari penyebaran Null dengan mengonversi nilai null menjadi nol menggunakan fungsi Nz, misalnya, =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, ditentukan dengan membagi nilai kontrol Penjualan dengan jumlah semua nilai kontrol Penjualan. Jika Anda mengatur properti Format kontrol menjadi Persen, 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 format mm-dd-yy, dengan mm adalah bulan (1 sampai 12), dd adalah tanggal (1 sampai 31), dan yy adalah dua digit terakhir tahun (1980 sampai 2099). |
=Format(Now(), "ww") |
Menggunakan fungsi Format untuk menampilkan nomor pekan dalam tahun tersebut untuk tanggal saat ini, dengan ww mewakili pekan 1 hingga 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 harus memberikan tiga argumen pada fungsi IIf: Argumen pertama adalah ekspresi yang harus memberikan nilai True atau False. 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/Jika Langsung) untuk menampilkan pesan "Pesanan Dikonfirmasi" jika nilai kontrol Dikonfirmasi adalah Yes; jika tidak, 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 dapat menggunakan operator Between untuk menyediakan tanggal awal dan akhir serta membatasi hasil kueri Anda untuk pesanan yang dikirim antara tanggal tersebut.
Di bawah ini tersedia contoh ekspresi untuk digunakan dalam kueri.
Operasi teks
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
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 memberikan nilai Tanggal/Waktu yang 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 PersentasePengangkutan, lalu menampilkan persentase biaya pengangkutan dalam setiap subtotal. Ekspresi ini menggunakan fungsi Sum untuk menjumlahkan nilai dalam bidang Pengangkutan, lalu membagi total tersebut dengan menjumlahkan nilai dalam bidang Subtotal. Untuk menggunakan ekspresi ini, Anda harus mengonversi kueri pemilihan menjadi kueri Total karena Anda harus menggunakan baris Total dalam kisi desain, dan harus mengatur sel Total untuk bidang ini menjadi Ekspresi. Untuk informasi selengkapnya tentang membuat kueri Total, lihat artikel Menjumlahkan data menggunakan kueri. Jika Anda mengatur properti Format bidang menjadi Persen, 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
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
Ekspresi dalam tabel berikut ini menggunakan fungsi SQL (Bahasa Kueri Terstruktur) yang mengagregasi atau merangkum data. Anda sering melihat fungsi ini (misalnya, Sum, Count, dan Avg) disebut sebagai fungsi agregat.
Selain fungsi agregat, Access juga menyediakan fungsi agregat "domain" yang Anda gunakan untuk menjumlahkan atau menghitung nilai secara selektif. Misalnya, Anda dapat menghitung hanya nilai dalam rentang tertentu atau mencari nilai dari tabel yang lain. Kumpulan fungsi agregat domain menyertakan Fungsi DSum, Fungsi DCount, dan Fungsi DAvg.
Untuk menghitung total, Anda seringkali perlu membuat kueri total. Misalnya, untuk meringkas menurut grup, Anda perlu menggunakan kueri Total. Untuk mengaktifkan kueri Total dari kisi desain kueri, klik Total di 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 PersentasePengangkutan, lalu menghitung persentase biaya pengangkutan di setiap subtotal dengan membagi jumlah nilai dalam bidang Pengangkutan dengan menjumlahkan nilai dalam bidang Subtotal. (Contoh ini menggunakan fungsi Sum.) Anda harus menggunakan ekspresi ini dengan kueri Total. Jika Anda mengatur properti Format bidang menjadi Persen, jangan sertakan *100. Untuk informasi selengkapnya tentang membuat kueri Total, lihat artikel 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" |
Menggunakan operator Or untuk menampilkan pesanan yang dikirim ke London atau Hedge End. |
KawasanNegaraPengiriman |
In("Canada", "UK") |
Menggunakan operator In untuk menampilkan pesanan yang dikirim ke Kanada atau Inggris. |
KawasanNegaraPengiriman |
Not "USA" |
Menggunakan operator Not untuk menampilkan pesanan yang dikirim ke negara/kawasan selain AS. |
NamaProduk |
Not Like "C*" |
Menggunakan operator Not 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 sampai Z. |
KodeProduk |
Right([ProductCode], 2)="99" |
Menggunakan fungsi Right untuk menampilkan pesanan dengan nilai KodeProduk yang berakhiran 99. |
NamaPengiriman |
Like "S*" |
Menampilkan pesanan yang dikirim kepada 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( )) |
Menggunakan operator Between...And serta 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# |
Menggunakan operator Between...And untuk menampilkan pesanan yang dikirim setelah 5-Jan-2017 dan sebelum 10-Jan-2017. |
TanggalDiperlukan |
Between Date( ) And DateAdd("M", 3, Date( )) |
Menggunakan operator Between...And 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
Operator Like memberikan banyak fleksibilitas ketika mencoba mencocokkan baris yang mengikuti pola, karena Anda dapat menggunakan Like dengan karakter wildcard dan menetapkan pola untuk Access agar sesuai. Misalnya, karakter wildcard (tanda bintang) * cocok dengan urutan karakter tipe apa pun, dan memudahkan untuk menemukan semua nama yang dimulai dengan huruf. Sebagai contoh, Anda menggunakan ekspresi Like "S*" untuk menemukan semua nama yang dimulai dengan huruf S. Untuk informasi selengkapnya, lihat artikel Operator Like.
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
Anda menggunakan 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 menunjukkan beberapa cara untuk menggunakan ekspresi dalam kueri pembaruan. Anda menggunakan ekspresi ini dalam baris Perbarui Menjadi dalam kisi desain kueri untuk bidang yang ingin diperbarui.
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 Kueri Terstruktur, atau SQL, merupakan bahasa kueri yang digunakan Access. Setiap kueri yang Anda buat dalam tampilan Desain kueri juga dapat dinyatakan menggunakan SQL. Untuk melihat pernyataan SQL untuk setiap kueri, klik Tampilan SQL di menu Tampilan. Tabel berikut ini menampilkan 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 memasukkan nilai default saat catatan baru yang berisi bidang dibuat atau ketika objek yang berisi kontrol tersebut dibuat. Ekspresi dalam tabel berikut menunjukkan sampel nilai default 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 properti bidang atau kontrol ValidationRule. Anda juga harus mempertimbangkan mengatur properti ValidationText, yang berisi teks yang ditampilkan Access ketika peraturan validasi dilanggar. Jika Anda tidak mengatur properti ValidationText, Access menampilkan pesan kesalahan default.
Contoh-contoh dalam tabel berikut ini menunjukkan ekspresi aturan validasi untuk properti ValidationRule 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 dengan properti ValidationRule , ekspresi dalam blok If adalah ekspresi bersyarah. Ekspresi itu akan menghasilkan nilai 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. |