Sebagai aturan, data lebih mudah untuk dianalisis jika dibagi menjadi beberapa kelompok. Misalnya, laporan yang mengelompokkan penjualan menurut wilayah dapat membantu Anda melihat tren yang mungkin luput dari perhatian. Selain itu, dengan menempatkan total (seperti total atau rata-rata) di akhir setiap grup dalam laporan Anda, Anda mengganti banyak pekerjaan kalkulator.

Access memudahkan untuk mengerjakan laporan yang dikelompokkan. Anda dapat membuat laporan yang dikelompokkan sederhana menggunakan Panduan Laporan, menambahkan pengelompokan atau pengurutan ke laporan yang sudah dibuat, atau mengubah opsi pengelompokan atau pengurutan yang telah ditetapkan.

Catatan: Artikel tidak berlaku untuk aplikasi web Access, tipe database baru yang dibuat di Access dan diterbitkan ke web.

Dalam artikel ini

Buat laporan ringkasan dengan pengelompokan atau pengurutan

Meskipun ini adalah pertama kalinya Anda membuat laporan yang dikelompokkan, Anda dapat dengan cepat membuat laporan sederhana dengan melakukan hal berikut:

Membuat Laporan yang Dikelompokkan Menggunakan Report Wizard

Panduan Laporan mengajukan pertanyaan dan membuat laporan berdasarkan jawaban. Salah satunya menyebutkan bidang yang ingin Anda kelompokkan dalam laporan. Setelah laporan dibuat, Anda dapat menggunakannya sebagaimana adanya atau memodifikasinya agar sesuai dengan kebutuhan Anda. Sebelum Anda memulai panduan laporan, tentukan pilihan sumber data.

Meluncurkan Panduan Laporan

Mengelompokkan Record Menggunakan Report Wizard

Pengelompokan memungkinkan Anda untuk mengatur entri menurut grup (misalnya, menurut wilayah atau penjual). Grup bertingkat memudahkan untuk menentukan hubungan antar grup dan dengan cepat menemukan data yang Anda butuhkan. Dengan pengelompokan, Anda juga bisa mendapatkan ringkasan seperti total atau persentase.

Saat Anda menyertakan beberapa tabel dalam laporan, panduan akan memeriksa hubungan di antara tabel tersebut dan menentukan bagaimana Anda bisa menampilkan data.


Menyortir dan meringkas catatan

Anda dapat mengurutkan catatan dalam urutan menaik atau menurun menurut bidang 1-4.


Dengan menggunakan tombol navigasi di bagian bawah area pandang, Anda dapat menggulir halaman laporan secara berurutan atau melompat ke halaman mana pun. Tekan salah satu tombol navigasi, atau masukkan nomor halaman yang diinginkan di kolom input nomor halaman, lalu tekan tombol ENTER.

Dalam mode Pratinjau, Anda dapat memperbesar untuk melihat detail, atau memperkecil untuk melihat lokasi data pada halaman. Klik sekali saat kursor mouse menunjuk ke laporan. Untuk membatalkan efek zoom, klik lagi. Anda juga dapat menggunakan kontrol zoom pada bilah status.

Tambahkan atau ubah pengelompokan dan pengurutan dalam laporan yang ada

Jika Anda sudah memiliki laporan dan perlu menambahkan pengurutan atau pengelompokan ke dalamnya, atau jika Anda perlu mengubah kondisi pengurutan atau pengelompokan di dalamnya, bagian ini akan membantu Anda dalam hal ini.

Menambahkan pengelompokan, pengurutan, dan total

Anda dapat melakukan operasi pengurutan, pengelompokan, dan ringkasan dengan mengklik kanan bidang dalam tampilan Tata Letak, lalu memilih operasi yang diinginkan dari menu konteks. Untuk beralih ke tampilan Tata Letak, klik kanan laporan di Panel Navigasi dan pilih Modus tata letak.

Catatan: Meskipun instruksi di bagian ini tidak secara eksplisit berbicara tentang area tersebut, kami menyarankan Anda membukanya dan memantau perubahannya saat Anda bekerja. Anda akan mendapatkan pemahaman yang lebih baik tentang tindakan Access, dan setelah Anda menguasai bekerja dengan cakupan Pengelompokan, pengurutan, dan total, Anda dapat menggunakannya untuk menyesuaikan laporan lebih lanjut. Untuk menampilkan panel Pengelompokan, pengurutan, dan total:

    tab Konstruktor di Grup Pengelompokan dan total klik Mengelompokkan dan menyortir.

Mengurutkan berdasarkan satu bidang

    Klik kanan nilai apa pun di bidang yang ingin Anda urutkan.

    Pilih opsi pengurutan yang diinginkan dari menu konteks. Misalnya, untuk mengurutkan kotak teks dalam urutan menaik, klik Mengurutkan dari A ke Z. Untuk mengurutkan bidang numerik dalam urutan menurun, klik Urutan menurun.

Access mengurutkan laporan seperti yang Anda tentukan. Jika daerah Pengelompokan, pengurutan, dan total sudah terbuka, Anda mungkin memperhatikan bahwa baris baru telah ditambahkan ke bidang Penyortiran.

Mengurutkan berdasarkan beberapa bidang

Catatan: Saat Anda menerapkan pengurutan dengan mengklik bidang dalam tampilan Tata Letak, Anda hanya bisa mengurutkan satu bidang dalam satu waktu. Menerapkan pengurutan ke bidang lain menghapus pengurutan pada bidang pertama. Ini berbeda dari cara pengurutan dilakukan pada formulir, di mana Anda bisa mengatur beberapa urutan pengurutan dengan mengklik setiap bidang secara bergantian dan memilih urutan pengurutan yang Anda inginkan. Untuk membuat tingkat pengurutan untuk beberapa bidang, lihat .

Kelompokkan berdasarkan bidang

    Klik kanan nilai apa pun di bidang yang ingin Anda kelompokkan.

    Dari menu konteks, pilih pengelompokan.

Access menambahkan tingkat pengelompokan dan membuat judul grup. Jika daerah Pengelompokan, pengurutan, dan total sudah terbuka, Anda akan melihat bahwa baris baru telah ditambahkan ke bidang pengelompokan.

Menambahkan total ke bidang

Opsi ini memungkinkan Anda menghitung jumlah, rata-rata, hitungan, atau bidang statistik lainnya. Nilai total ditambahkan ke akhir laporan, dan total grup ditambahkan ke grup laporan.

    Klik kanan nilai apa pun di bidang yang ingin Anda hitung totalnya.

    Klik Hasil.

    Pilih operasi yang akan dilakukan: Jumlah, Rata-rata, Jumlah catatan(untuk menghitung semua entri), Jumlah nilai(untuk menghitung hanya catatan dengan nilai bidang tertentu), Maksimum, Minimum, Standar deviasi atau Penyebaran.

Access menambahkan kontrol ke header laporan, seperti teks terhitung yang meringkas total keseluruhan. Jika laporan berisi tingkat pengelompokan, Access menambahkan header grup (jika tidak ada) dan menempatkan nilai total di setiap header.

Catatan: Anda juga dapat menambahkan total dengan mengklik bidang yang ingin Anda hitung dan pada tab Konstruktor di Grup Pengelompokan dan total mengklik Hasil.

Tambahkan pengelompokan, pengurutan, dan total menggunakan panel Pengelompokan, pengurutan, dan total

Bekerja dengan area Pengelompokan, pengurutan, dan total memberikan fleksibilitas paling besar saat Anda perlu menambahkan atau mengubah grup, mengurutkan pesanan, atau opsi total dalam laporan. Pada saat yang sama, tampilan Tata Letak adalah yang paling nyaman untuk digunakan, karena jauh lebih mudah untuk melihat bagaimana perubahan yang Anda buat memengaruhi tampilan data.

Menampilkan Area Penyortiran, Pengelompokan, dan Penjumlahan

    Di tab Konstruktor di Grup Pengelompokan dan total klik Mengelompokkan dan menyortir.

    Akses akan menampilkan area Pengelompokan, pengurutan, dan total.

Untuk menambahkan tingkat pengelompokan atau pengurutan, klik Tambahkan pengelompokan atau Tambahkan pengurutan.

Ke daerah Pengelompokan, pengurutan, dan total baris baru akan ditambahkan dan daftar bidang yang tersedia akan ditampilkan.

Anda dapat mengklik salah satu nama bidang ini atau ekspresi di bawah daftar bidang untuk memasukkan ekspresi. Segera setelah Anda mengklik bidang atau memasukkan ekspresi, Access menambahkan tingkat pengelompokan ke laporan. Dalam tampilan Tata Letak, urutan pengurutan atau grup akan segera muncul.

Untuk informasi selengkapnya tentang membuat dan menggunakan ekspresi, lihat artikel Membuat ekspresi.

Catatan:

    Setelah menentukan beberapa tingkat penyortiran atau pengelompokan, Anda mungkin perlu menggulir ke bawah area Menyortir, mengelompokkan, dan menjumlahkan untuk melihat tombol Tambahkan pengelompokan dan Tambahkan pengurutan.

    Anda dapat menetapkan hingga sepuluh tingkat pengurutan dan pengelompokan ke laporan.

Ubah opsi pengelompokan

Setiap tingkat pengelompokan atau pengurutan berisi sekumpulan opsi yang dapat Anda gunakan untuk mendapatkan hasil yang Anda inginkan.


Urutan pengurutan. Anda dapat mengubah urutan pengurutan dengan mengklik daftar drop-down yang sesuai dan memilih opsi yang Anda inginkan.

Interval pengelompokan. Pengaturan ini menentukan bagaimana catatan dikelompokkan. Misalnya, bidang teks dapat dikelompokkan bersama berdasarkan karakter pertamanya (jika dimulai dengan "A", "B", dll.). Bidang tanggal dapat dikelompokkan berdasarkan hari, minggu, bulan, kuartal, atau masukkan interval Anda sendiri.

Hasil. Untuk menambahkan total, klik opsi ini. Anda dapat menambahkan total ke beberapa bidang, dan menghitung beberapa jenis total untuk satu bidang.

    Jumlah menurut bidang dan pilih bidang yang ingin Anda hitung totalnya.

    Klik panah tarik-turun Sebuah tipe dan pilih metode pembayaran.

    Pilih Tampilkan total keseluruhan untuk menambahkan total keseluruhan ke akhir laporan (tajuknya).

    Pilih Tampilkan total grup dan total keseluruhan untuk menambahkan kontrol ke header grup yang menghitung persentase total keseluruhan untuk setiap grup.

    Pilih Tampilkan di header grup atau Tampilkan di Header Grup untuk menampilkan grand total di lokasi yang diinginkan.

Setelah memilih semua opsi untuk suatu bidang, Anda dapat mengulangi prosesnya dengan memilih bidang yang berbeda dari daftar tarik-turun Jumlah menurut bidang, atau klik di luar jendela popup Hasil untuk menutupnya.

Nama. Memungkinkan Anda mengubah judul bidang tempat nilai total dihitung. Digunakan untuk header kolom dan untuk bidang ringkasan di header dan footer.

Untuk menambah atau mengubah judul:

    klik teks biru setelah teks dengan judul;

    akan muncul kotak dialog Skala;

    masukkan judul baru di kotak dialog, lalu klik Oke.

Dengan/tanpa bagian tajuk. Dengan pengaturan ini, Anda akan dapat menambah atau menghapus bagian header yang ada sebelum setiap grup. Saat Anda menambahkan bagian header, Access menempatkan bidang pengelompokan di header. Sebelum menghapus bagian header yang berisi kontrol selain kotak grup, Access akan meminta konfirmasi Anda.

Dengan / tanpa catatan bagian. Gunakan opsi ini untuk menambah atau menghapus bagian header dan footer setelah setiap grup. Sebelum Anda menghapus bagian header atau footer yang berisi kontrol, Access akan meminta konfirmasi Anda.

Sebuah representasi non-breaking dari kelompok. Opsi ini menentukan bagaimana grup ditempatkan pada halaman saat laporan dicetak. Anda mungkin ingin menempatkan grup sedekat mungkin satu sama lain agar mudah dilihat di halaman. Tapi ini biasanya meningkatkan penggunaan kertas saat mencetak laporan karena sebagian besar halaman akan memiliki ruang kosong di bagian bawah.

    Jangan simpan grup di satu halaman. Gunakan opsi ini jika Anda tidak peduli dengan posisi grup pada hentian halaman. Misalnya, 10 item dalam grup yang terdiri dari 30 item mungkin berada di bagian bawah satu halaman dan 20 sisanya di bagian atas halaman berikutnya.

    Pertahankan grup di halaman yang sama. Pengaturan ini membantu meminimalkan jumlah hentian halaman dalam grup. Jika grup tidak muat di ruang yang tersisa di satu halaman, Access akan mengosongkan ruang tersebut dan menempatkan grup di halaman berikutnya. Grup besar masih dapat menjangkau beberapa halaman, tetapi pengaturan ini meminimalkan kasus seperti itu.

    Pertahankan judul dan posting pertama di halaman yang sama. Memastikan bahwa header grup tidak dicetak secara terpisah dari grup itu sendiri di bagian bawah halaman. Jika Access menentukan bahwa tidak ada cukup ruang untuk mencetak setidaknya satu baris setelah judul, grup akan dicetak dari halaman berikutnya.

Ubah prioritas tingkat pengelompokan dan penyortiran

Untuk mengubah prioritas, klik satu baris di area Pengelompokan, pengurutan, dan total, lalu panah atas atau bawah di sebelah kanan baris.

Menghapus tingkat pengelompokan dan penyortiran

Untuk menghapus level, di area Pengelompokan, pengurutan, dan total pilih baris yang ingin Anda hapus lalu tekan tombol DELETE atau tombol Menghapus ke kanan garis. Saat Anda menghapus tingkat pengelompokan, jika header atau footer grup berisi bidang pengelompokan, Access memindahkannya ke bagian detail laporan. Semua kontrol lainnya dihapus.

Buat laporan ringkasan (tidak ada detail catatan)

Jika Anda hanya ingin menampilkan total (data di baris header dan footer), pada tab Konstruktor di Grup Pengelompokan dan total klik Sembunyikan detail. Ini akan menyembunyikan catatan dari tingkat pengelompokan yang lebih rendah berikutnya, dan totalnya akan ditampilkan lebih ringkas. Meskipun entri disembunyikan, kontrol di bagian tersembunyi tidak dihapus. Klik Sembunyikan detail lagi untuk mengembalikan baris detail ke laporan.

Kueri memungkinkan meringkas untuk data yang termasuk dalam kelompok yang sama: menghitung jumlah, jumlah, rata-rata, nilai maksimum dan minimumnya.

Olahraga: membuat kueri yang akan menghitung jumlah total barang dan total volume barang yang diterima untuk setiap faktur.

Perhatikan tabel datanya” Tanda terima barang"(Gbr. 13). Tabel memiliki nilai kolom yang sama Nomor faktur dapat diulang berkali-kali (tergantung banyaknya barang yang sampai di invoice). Anda perlu membuat kueri yang akan merangkum jumlah barang untuk faktur dengan nomor yang sama.

Untuk pemahaman yang lebih baik tentang hasil apa yang harus diperoleh dalam kueri pada Gambar. 13, di sebelah kanan, dengan tanda kurung kurawal, entri yang cocok dengan nomor faktur dan jumlah total item serta volume total dihitung.

Beras. tigabelas. Tabel "Penerimaan barang"

Prosedur pelaksanaan:

1. Dalam jendela navigasi terpilih Kategori objek - Jenis objek, dan di bagian Filter grup sakelar dipasang Permintaan. Pada pita di bagian Penciptaan di Grup Permintaan tombol ditekan Pembuat Kueri.

2. Di kotak dialog Menambahkan tabel, tabel dipilih, data yang ingin Anda tampilkan dalam kueri (" Tanda terima barang") dan tombol ditekan Menambahkan.

3. Jendela desainer kueri akan muncul di layar, terdiri dari dua bagian: bagian atas menampilkan tata letak tabel, dan bagian bawah berisi bagian untuk menentukan parameter kueri.

Bidang tersebut ditambahkan ke bagian parameter kueri, yang nilainya harus ditampilkan sebagai hasil dari eksekusi kueri (Gbr. 14). (Anda dapat menambahkan bidang ke kueri dengan mengklik dua kali namanya di tabel terkait yang terletak di bagian atas jendela kueri).

5. Untuk mengimplementasikan kueri dalam mode Desain, operasi Grup baris tambahan (Gbr. 14) ditambahkan dengan menekan tombol pada bilah alat.

Di bawah lapangan nomor faktur Di barisan Operasi grup tim dipilih pengelompokan(faktur dengan nomor yang sama dikelompokkan), di bawah bidang Kode Produk Di barisan Operasi grup tim dipilih Menghitung(angka) dan di bawah bidang Kuantitas - tim Jumlah ( kuantitas dijumlahkan). Operasi yang digunakan dalam kueri pengelompokan dijelaskan pada Tabel 2.

Hasil eksekusi query ditunjukkan pada Gambar. 15. (bandingkan hasilnya dengan data pada Gambar 13).


Tabel 2. Operasi grup

Nama operasi

Berarti

penjumlahan

Berarti

Nilai minimum

Nilai maksimum

Jumlah elemen dalam kolom

elemen terakhir

elemen pertama

Kondisi

Menunjuk ke ekspresi boolean

Ekspresi

Menunjukkan bahwa bidang tersebut dihitung

6.1. Bidang yang dihitung.

6.2. Membuat ekspresi dengan Expression Builder.

6.3. Ikhtisar fungsi built-in dari MS Access DBMS.

6.4. Permintaan akhir.

6.5. permintaan silang.

Sangat sering, ketika membentuk satu set catatan, perlu untuk melakukan perhitungan pada data (menentukan usia karyawan, nilai pesanan, persentase penjualan, memilih bagian dari kode barang, dll., yaitu menampilkan informasi yang tidak disimpan di database) atau melakukan operasi tertentu untuk pemrosesan langsung dari data yang dipilih.

Di QBE DBMS MS Access, kemampuan tersebut disediakan melalui bidang terhitung dan operasi grup.

6.1. Bidang terhitung

Bidang terhitung adalah ekspresi yang terdiri dari operator (aritmatika, perbandingan, logika, penggabungan) dan operan. Operan dapat berupa konstanta, fungsi dan pengidentifikasi bawaan atau yang ditentukan pengguna, misalnya

Biaya: Barang! Harga * Kuantitas * (1-Diskon)

Jumlah Pria: Jumlah(IIf(Seks = "m"; 1; 0))

Nama lengkap: Nama belakang &" "& Kiri(Nama depan;1) &". "& Kiri(Nama tengah;1) &"."

Biaya, Jumlah Pria, dan Nama Lengkap adalah nama bidang terhitung dan ditampilkan dalam tampilan tabel di header kolom, simbol titik dua bertindak sebagai pemisah antara nama bidang terhitung dan ekspresi.

Jika nama tabel atau bidang berisi spasi, maka pengenalnya harus diapit dalam tanda kurung siku dalam ekspresi, misalnya

Biaya: Harga*[Jumlah barang]

Bidang terhitung dibuat langsung dalam formulir QBE dengan memasukkan ekspresi dalam sel Bidang setiap kolom bebas. Hasil perhitungan yang ditampilkan dalam bidang tidak disimpan dalam tabel dasar. Perhitungan dilakukan lagi setiap kali kueri dijalankan, sehingga hasilnya selalu mewakili konten database saat ini.

Anda tidak dapat memperbarui hasil yang dihitung secara manual.

Untuk membangun ekspresi kompleks, MS Access DBMS menyertakan utilitas yang disebut Pembangun ekspresi.

6.2. Membuat ekspresi dengan Expression Builder

Pembuat ekspresi dapat dimulai dengan mengklik tombol Membangun pada bilah alat Pembuat Kueri atau dengan memilih perintah menu dari menu konteks bidang formulir permintaan QBE Membangun….

Gbr.6.2. Kotak Dialog Pembuat Ekspresi
dengan ekspresi yang terbentuk

6.3. Ikhtisar fungsi DBMS bawaanNONA Mengakses

MS Access DBMS berisi lebih dari 100 fungsi bawaan (Gbr. 6.3) yang dapat digunakan saat menghasilkan bidang terhitung atau saat menyetel kondisi pemilihan.

Mengembalikan nilai hari dalam sebulan dari 1 hingga 31

Mengembalikan nilai bulan dari 1 hingga 12

NamaBulan(bulan[; bendera])

Mengembalikan nama bulan yang sesuai dengan nomor bulan: 1 - Januari, 2 - Februari, dll. Jika nilai flag argumen adalah True, maka fungsi mengembalikan singkatan bulan: 1 - Januari, 2 - Februari, dll.

Mengembalikan nilai tahun dari 100 hingga 9999

Hari kerja(tanggal[; nomor])

Jika nomor tidak ditentukan, mengembalikan hari dalam seminggu dari 1 (Minggu) hingga 7 (Sabtu). Jika angkanya 0, mengembalikan hari dalam seminggu dari 1 (Senin) hingga 7 (Minggu)

Mengembalikan bilangan bulat dari 0 hingga 23 yang mewakili nilai jam

DatePart(interval; tanggal)

Mengembalikan nilai numerik berdasarkan nilai argumen interval:

"q" - seperempat (dari 1 hingga 4);

"m" – bulan (dari 1 hingga 12);

"yyyy" – tahun (dari 100 hingga 9999);

"ww" – minggu (dari 1 hingga 53);

dll. (lihat bantuan fungsi).

Mengembalikan tanggal sistem saat ini

Tabel 6.1 lanjutan

Keterangan

Kiri(teks; n)

Mengembalikan n karakter kiri dari argumen teks

Kanan(teks; n)

Mengembalikan n karakter kanan argumen teks

Tengah(teks; start_pos[; n])

Mengembalikan n karakter mulai dari posisi start_pos dari argumen teks. Jika argumen n tidak ditentukan, maka kembalikan semua karakter hingga akhir string, mulai dari posisi start_pos argumen teks.

Mengembalikan jumlah karakter (panjang string) dalam argumen teks

LTrim(teks)

Mengembalikan nilai string argumen teks tanpa spasi

RTrim(teks)

Mengembalikan nilai string dari argumen teks tanpa spasi tambahan

memangkas (teks)

Mengembalikan nilai string argumen teks tanpa spasi awal atau akhir

Mengembalikan nilai string dari argumen angka

Format(variabel; format)

Mengembalikan nilai argumen variabel dalam format yang diberikan oleh argumen format

6.3. Permintaan Ringkasan

Saat menganalisis data, sangat sering Anda tidak tertarik pada catatan individual, tetapi pada nilai total untuk grup data, misalnya:

Jumlah transaksi dengan Rekan untuk jangka waktu tertentu;

Rata-rata penjualan untuk setiap bulan untuk tahun sebelumnya.

Jawaban atas pertanyaan semacam itu diberikan oleh kueri terakhir.

Untuk menghitung nilai total, tekan tombol Operasi grup pada bilah alat Pembuat Kueri sehingga muncul garis dalam bentuk QBE Operasi grup(setelah nama tabel).

Secara default, untuk setiap bidang yang dimasukkan dalam formulir permintaan, nilainya diatur ke pengelompokan(hasil tidak diringkas).

Untuk meringkas, perlu untuk mengganti instalasi pengelompokan untuk fungsi akhir tertentu. MS Access DBMS menyediakan 9 fungsi (Tabel 6.2) yang memastikan kinerja operasi grup.

Tabel 6.2

Tujuan

Mengembalikan jumlah dari sekumpulan nilai

Mengembalikan rata-rata aritmatika dari sekumpulan nilai

Mengembalikan nilai terkecil dari sekumpulan nilai

Mengembalikan nilai terbesar dari sekumpulan nilai

Mengembalikan jumlah catatan dalam kumpulan nilai bukan nol

Mengembalikan nilai pertama bidang dalam grup

Mengembalikan nilai terakhir bidang dalam grup

Mengembalikan simpangan baku dari sekumpulan nilai

Mengembalikan varians dari sekumpulan nilai

Operasi grup ada instalasi Ekspresi. Pengaturan ini diterapkan ketika ekspresi (string Bidang) beberapa fungsi ringkasan digunakan.

tarik-turun string Operasi grup ada instalasi Kondisi. Pengaturan ini digunakan ketika kondisi pemilihan ditulis dalam baris Kondisi pemilihan, tetapi data kolom (bidang) tidak boleh berpartisipasi dalam operasi grup.

Untuk memecahkan masalah statistik yang lebih kompleks, MS Access DBMS menyediakan jenis kueri khusus - kueri silang.

6.4. Kueri silang

Kueri silang adalah jenis kueri grup khusus yang mencerminkan hasil perhitungan statistik berdasarkan nilai satu bidang tabel.

Tiga bidang sumber yang mendasarinya sudah cukup untuk membuat permintaan silang. Berdasarkan nilai berulang dari satu bidang, nama-nama tajuk baris tabel (ringkasan) akhir terbentuk (Gbr. 6.4). Berdasarkan nilai berulang dari bidang lain, nama-nama tajuk kolom dari tabel (ringkasan) akhir terbentuk. Hasil pemrosesan statistik untuk bidang ketiga ditampilkan di sel tabel pivot (area nilai). Contoh kueri silang dalam mode desain ditunjukkan pada Gambar 6.5, dan hasil kueri ditunjukkan pada Gambar 6.5. 6.6.

Area Baris Header memungkinkan beberapa bidang, sementara area lain hanya dapat berisi satu bidang dalam satu waktu.

Diperbolehkan untuk menentukan kondisi pemilihan dalam permintaan silang. Penyortiran hanya dapat dilakukan berdasarkan bidang yang terletak di area header baris.

Gambar 6.4. Tata letak tab silang


Gbr.6.5. Kueri silang yang terbentuk di QBE


Gambar 6.6. Hasil eksekusi kueri dalam mode Lembar Data

Kueri memungkinkan Anda tidak hanya memilih rekaman dari tabel Access, tetapi juga menghitung berbagai parameter statistik. Misalnya, Anda dapat menghitung jumlah total kontak dan menampilkan tanggal kontak pertama dan terakhir dengan setiap orang yang disertakan dalam tabel Kontak. Untuk membuat kueri seperti itu dalam mode desain, ikuti langkah-langkah berikut:

1. Di jendela database, klik tombol Permintaan.

2. Klik dua kali ikon Buat kueri dalam tampilan desain.

3. Pada jendela dialog yang terbuka (Gbr. 17.6), pilih baris Contacts.

4. Mengklik tombol Menambahkan tambahkan tabel yang dipilih ke area desain kueri teratas.

5. Sorot item Daftar dan klik tombol lagi Menambahkan.

6. Dengan mengklik tombol menutup tutup kotak dialog. Daftar bidang dari dua tabel yang dihubungkan oleh garis tautan akan muncul di jendela desainer.

7. Klik tombol Operasi grup bilah alat. Baris tambahan akan muncul di formulir permintaan Operasi grup A yang memungkinkan Anda melakukan operasi agregat pada nilai bidang tertentu.

Beras. 17.6. Menambahkan tabel

8. Seret bidang Nama Belakang ke dalam sel Bidang kolom pertama konstruktor.

9. Di sel yang sama dari kolom kedua, seret bidang Nama tabel Kontak.

10. Di kolom ketiga, keempat dan kelima dari formulir permintaan, seret bidang tanggal Daftar tabel (Gbr. 17.7).

11. Jatuhkan Sel Operasi grup di kolom ketiga formulir permintaan, pilih item min.

12. Di sel yang sama dari kolom keempat, pilih item maksimal.

13. Pada kolom kelima, atur Count operasi grup. Operasi grup dari kueri yang dibuat akan memproses semua catatan tabel Daftar yang terkait dengan orang tertentu dari tabel Kontak, dan alih-alih data tabel Daftar itu sendiri, hanya nilai nilai yang dihitung dengan rumus tertentu yang akan ditampilkan di bidang yang sesuai dari hasil kueri. Operasi grup yang tersedia tercantum dalam Tabel. 17.1.

TABEL 17.1. Operasi grup

Nama Fungsi
KondisiMode untuk menentukan kondisi pemilihan untuk bidang yang tidak dikelompokkan. Akses secara otomatis membuat bidang seperti itu disembunyikan
EkspresiBidang terhitung yang nilainya dihitung menggunakan rumus kompleks
Grup OlehBidang yang mendefinisikan kelompok catatan yang statistiknya dihitung. Satu grup mencakup semua catatan yang nilai bidangnya dengan mode Grup Menurut adalah sama
TerakhirNilai terakhir dalam grup
PertamaNilai pertama dalam grup
VarVariasi nilai bidang
StDevStandar deviasi nilai nol dari mean
MenghitungJumlah catatan yang sesuai dengan nol yang tidak mengandung nilai Null
maksimalNilai maksimum
minNilai minimum
Rata-rataRata-rata lapangan
jumlahJumlah nilai bidang di semua catatan

Catatan Karena jumlah rekaman dihitung di bidang kelima kueri, bidang apa pun dari tabel Daftar dapat ditempatkan di sel Bidang kolom ini.

14. Klik tombol Melihat untuk menyelesaikan permintaan. Sebuah tabel dengan lima kolom akan muncul. Dua kolom pertama berisi nama belakang dan nama depan orang. Pengelompokan dilakukan oleh mereka, yaitu, penghitungan nilai bidang kueri yang tersisa dilakukan untuk catatan tabel Daftar yang dicocokkan dengan satu orang. Seperti disebutkan di atas, korespondensi antara kontak dari tabel Daftar dan seseorang dari tabel Kontak ditentukan oleh bidang Code_Contacts, yang digunakan untuk menautkan dua tabel ini. Kolom ketiga dan keempat dari kueri menampilkan tanggal kontak pertama (fungsi Min) dan terakhir (Fungsi Maks) dengan orang yang diberikan. Kolom kelima berisi jumlah entri dalam tabel Daftar (fungsi Hitung) yang cocok. orang ini, yaitu jumlah kontak dengannya. Satu-satunya kelemahan dari kueri yang dibuat adalah nama kolom yang tidak jelas. Mari kita perbaiki mereka.

15. Mengklik tombol Melihat kembali ke konstruktor kueri.

16. Pada sel Field kolom ketiga, ganti nama Date dengan teks First Contact Date: Date. Sisi kanan ekspresi ini, yang terletak di sebelah kanan titik dua, masih menentukan nama bidang, dan sisi kiri menentukan nama kolom hasil kueri. Dengan demikian, kolom kueri apa pun dapat diberi nama arbitrer.

17. Di sel Bidang kolom keempat, masukkan Tanggal Kontak Terakhir: Tanggal.

18. Di baris pertama kolom kelima formulir permintaan, masukkan Jumlah Kontak: Tanggal.

Catatan Sayangnya, teknik seperti itu tidak cocok untuk mengubah nama bidang yang nilainya tidak dihitung, tetapi ditransfer dari tabel. Artinya, dengan cara ini tidak mungkin mengganti nama bidang Nama.

19. Klik tombol lagi Melihat.

20. Tutup permintaan.

21. Untuk menyimpan perubahan pada struktur, klik tombol Ya.

22. Di kotak dialog Kelestarian masukkan nama Summary Query dan klik tombol Oke.

Hari ini kita akan berbicara secara rinci tentang kueri di Access.


Kueri, seperti yang sudah Anda ketahui, diperlukan untuk bekerja dengan data dalam tabel.
Untuk membuat permintaan...
1) ... di jendela database, buka Query
2) ...dan buat kueri menggunakan konstruktor.



Tolong JANGAN gunakan untuk membuat permintaan Menguasai, karena memungkinkan Anda untuk membuat kueri yang paling sederhana saja, lalu membuatnya kembali menjadi kueri yang lebih canggih bahkan lebih sulit daripada membuat kueri di konstruktor dari awal.

Penghapusan baris kosong

Saat beberapa tabel ditautkan, baris kosong dapat terjadi.



Mengapa ini terjadi?
Faktanya adalah bahwa di meja tbPerson kami, bersama dengan pemilik anjing, para hakim juga dicatat (Petrovskaya, Yelets, Tereshchuk). Juri tidak memiliki hak untuk membawa anjingnya ke pertunjukan, oleh karena itu, di baris dengan nama mereka, ada sel kosong dengan nama-nama anjing.
Ada dua cara untuk menghapus baris kosong.
1. Beri syarat pada nilai nama panggilan anjing Bukan Null, yaitu TIDAK KOSONG.



2. Atau ubah tipe hubungan antar tabel di area tabel: Anda perlu memanggil menu konteks pada jalur koneksi yang memberikan hasil yang tidak akurat, dan ubah Gabungkan Opsi.



Pertanyaan untuk Anda: pengaturan apa yang perlu diubah di kotak dialog opsi gabungan?

Pertanyaan dengan perhitungan

Sampai saat ini, kami hanya memilih catatan berdasarkan berbagai kondisi. Tetapi Access memungkinkan Anda tidak hanya melihat data yang direkam dalam tabel, tetapi juga melakukan PERHITUNGAN: menentukan usia berdasarkan tanggal lahir; dari nama, nama keluarga dan patronimik untuk membuat nama keluarga dengan inisial; menentukan total biaya pembelian dengan harga satu unit barang dan kuantitasnya; sesuai dengan tanggal penerbitan buku di perpustakaan, menentukan jumlah denda untuk hutang dan banyak lagi. Untuk perhitungan, fungsi bawaan (mirip dengan yang ditemukan di Excel) digunakan.


Operasi yang paling sederhana adalah penambahan string. Mari kita menulis ekspresi di sel untuk menampilkan frasa berikut: pemilik dari kota kota .
Untuk melakukan ini, kami menulis di baris atas kolom baru area kondisi: + "dari kota" + .



Nama bidang ditulis dalam tanda kurung siku, fragmen string - dalam tanda kutip, di antara mereka ada tanda tambahan.


Ekspresi untuk perhitungan ditulis di baris paling atas ( Bidang) kondisi daerah. Sejauh ini, kami telah menulis kondisi di garis bawah ( Kondisi pemilihan).


Agar tidak bingung: di baris atas kami menulis APA yang akan ditampilkan, dan kemudian (di bawah) - di bawah KONDISI APA.


Olahraga: Tulis ekspresi untuk ditampilkan dalam satu sel nama belakang pemilik dan dalam tanda kurung kota tempat tinggalnya. Seperti ini: Ivanov (Moskow). Kota dan nama keluarga harus diganti dari tabel.

Pembuat Ekspresi

Untuk memudahkan mengedit ekspresi, ada editor khusus - "Expression Builder". Ini terlihat seperti ini:



Dan itu disebut menggunakan menu konteks: Anda harus meletakkan kursor di sel tempat Anda akan menulis ekspresi:



Di pembuat ekspresi, Anda dapat memilih dari pustaka fungsi:



dan data dari tabel (Anda HANYA dapat menggunakan tabel yang digunakan dalam kueri ini dan ditampilkan di area data):



Saat Anda mengklik dua kali untuk memilih nama bidang atau fungsi dari daftar, Access juga sering menyisipkan kata "ekspresi", yang menunjukkan bahwa fungsi dan nama bidang lain dapat dimasukkan DI TEMPAT INI. Jangan lupa untuk menghapus kata tambahan "ekspresi"!


Kami akan berkenalan dengan teks dan fungsi sementara, serta operator kondisional Iif(kondisi; jika-benar; jika-salah).


Teks fungsi memungkinkan Anda untuk mengonversi variabel string:
Left("Ivanov"; 2) = "Iv" meninggalkan n karakter kiri
LCase("Ivanov") = Ivanov membuat semua huruf menjadi huruf kecil
InStr(1; "Ivanov", "but") = 4 menemukan substring (argumen ketiga) dalam string (argumen kedua), dan sama dengan posisi (dari awal) substring dalam string
Len("Ivanov") = 6 mencetak jumlah karakter dalam string
StrComp("Ivanov", "Petrov") = -1 membandingkan dua string: jika mereka sama, ia mengembalikan 0
lainnya…


Sementara memungkinkan Anda untuk bekerja dengan variabel sementara:
Bulan(#12.04.2007#) = 4
Tahun(#12.04.2007#) = 2007
Hari(#12.04.2007#) = 12.
Sekarang() = 28/04/2008 14:15:42 (tanggal dan waktu saat ini)
Tanggal() = 28/04/2008 (tanggal hari ini)
DateDiff("d"; #12.04.2007#; #28.04.2007#) = 16 menemukan perbedaan antara dua tanggal ("d" - dalam hari, "ww" - dalam minggu, "m" - dalam bulan, "yyyy " - dalam tahun, dll.)
lainnya…


asah otak menangani ekspresi bersyarat:
Jika(<=1; «щенок»; «взрослый») аналог функции ЕСЛИ из Ecxel.
lainnya…


Olahraga: menulis ekspresi yang membuat nama keluarga dengan inisial dari nama keluarga, nama depan dan patronimik. Ivanov Ivan Ivanovich -> Ivanov I.I.
Olahraga
Olahraga
Tambahan: Ada dua cara untuk menghitung usia seekor anjing, yang satu lebih akurat, yang lain lebih kecil:
1) kurangi tahun lahir anjing dari tahun berjalan;
2) menggunakan fungsi DateDiff, hitung berapa hari telah berlalu sejak lahir hingga hari ini. Terapkan satu metode di salah satu tugas, yang lain di yang lain.

Permintaan dengan parameter

Saat kamu berlari permintaan dengan parameter, itu, tidak seperti permintaan pemilihan biasa, tidak dieksekusi segera, tetapi pertama-tama di kotak dialog itu meminta Anda untuk mengklarifikasi beberapa kondisi pemilihan. Misalnya, kami ingin mendapatkan informasi lengkap tentang seekor anjing dengan nomor turnamen tertentu.



Permintaan ini disusun seperti ini:



Di tempat kondisi seleksi biasanya berdiri, sekarang ada pertanyaan (dalam tanda kurung siku) yang akan ditanyakan kepada pengguna. Dan jawaban pengguna, Anda dapat menebaknya, akan diganti ke dalam sel ini sebagai kondisi pemilihan.


Olahraga: buat kueri yang akan menampilkan semua anjing dengan nama belakang pemiliknya, yang merupakan parameter gratis.

Permintaan Pengelompokan

Dengan bantuan pembuat ekspresi, kami dapat melakukan operasi pada satu baris: menambahkan nilai dalam sel, mengubah data.
Tetapi bagaimana jika kita perlu memproses beberapa baris sekaligus: menghitung jumlah poin, menemukan jumlah baris dengan nilai bidang yang sama?
Pengelompokan digunakan untuk ini (sangat mirip dengan penjumlahan di Excel).


Mari kita hitung berapa banyak anjing dari setiap ras yang datang ke pertunjukan. Untuk melakukan ini, kami hanya akan mentransfer dua bidang ke area kondisi: nama panggilan dan jenis - dan memanggil saluran tambahan operasi kelompok(melalui menu konteks pada area kondisi):



Sekarang mari kita kelompokkan anjing-anjing itu berdasarkan ras dan hitung jumlah nama panggilan yang berbeda di setiap kelompok:



Mari kita simpulkan hasil pameran dan hitung skor rata-rata untuk eksterior, skor rata-rata untuk pelatihan dan jumlah mereka.


Tambahkan tabel dengan tanda (tbMarks) ke area tabel. Kami mengelompokkan skor menurut nomor turnamen anjing dan memilih nilai rata-rata rata-rata di antara operasi grup. rata-rata- rata-rata).


Jalankan kueri dan dalam mode tampilan perhatikan bahwa kolom dengan operasi grup memiliki nama ganda (operasi + nama bidang). Ini akan berguna bagi kami saat menghitung total poin.





Anda juga dapat membulatkan nilai ke satu tempat desimal: Bulat(+;1)


Olahraga: mencari tahu anjing mana yang menyebabkan pendapat juri yang paling bertentangan. Untuk melakukan ini, kurangi skor minimum dari skor maksimum.

Permintaan untuk perubahan, penghapusan, penambahan

Dalam pelajaran pertama, kita telah berbicara tentang fakta bahwa kueri memungkinkan tidak hanya melihat data dari tabel, tetapi juga mengedit catatan: tambahkan yang baru, hapus, ubah. Jenis permintaan dapat diubah menggunakan daftar permintaan pada toolbar.



Menjelang pameran, operator database menerima informasi baru:
1) anjing Desi sakit dan tidak dapat mengikuti pameran;
2) secara tidak sengaja, Guardian, yang sebenarnya adalah English Setter, terdaftar sebagai Irish Setter;
3) Pemilik Migunova melamar anjing miliknya yang lain (nama: Garry, ras: Gordon Setter, jenis kelamin: m, tanggal lahir: 15.09.07).


Mari kita mulai mengedit database.
1) Hapus catatan dari Desi.
Buat kueri quDelDog. Jenis permintaan - hapus. Dengan perubahan jenis permintaan, area kondisi juga sedikit berubah. Ada sel baru Pemindahan. Di bawahnya, Anda menentukan kondisi di mana Anda ingin memilih catatan yang akan dihapus. Bahkan jika Anda menentukan kondisi pemilihan untuk satu bidang, SELURUH rekaman akan dihapus.



Setelah Anda mengklik "tanda seru", sebuah pesan akan muncul di layar yang menyatakan bahwa entri telah dihapus. Sekarang buka tbMeja anjing dan pastikan Desi tidak ada di dalamnya.


2) Minta Wali mengubah Irish Setter menjadi English Setter.
Buat kueri quUpdateDog. Jenis permintaan - perbarui. Kami menemukan Guardian dan memperbarui rasnya.



membuka tbMeja anjing dan pastikan ras Guardian adalah English Setter.


3) Tambahkan entri dengan Harry.
Buat kueri quAddDog. Jenis permintaan - untuk penambahan. Tambahkan kueri memiliki satu kekhasan: di area tabel, BUKAN tabel DI MANA Anda menambahkan catatan yang ditampilkan, tetapi DARI tempat Anda mengambil data (jika diperlukan). Anda menentukan tabel target (yang catatannya ditambahkan) di kotak dialog yang muncul segera setelah Anda mengatur jenis kueri (untuk ditambahkan):



Karena kita tidak mengambil data dari tabel lain, tetapi membuat record baru, area tabel harus KOSONG! (seharusnya tidak ada meja). Di area kondisi di telepon Bidang Anda menulis APA yang harus ditambahkan (nilai baru untuk setiap bidang), dan di baris Tambahan DIMANA (nama bidang):



membuka tbMeja anjing dan pastikan Harry muncul di dalamnya!

bahasa kueri SQL

Ketika Anda mengklik "tanda seru", permintaan dijalankan. Beginilah tampilannya bagi seorang pemula.
Para profesional tahu bahwa sebenarnya, pada saat ini, sebuah instruksi sedang dieksekusi dalam bahasa query SQL khusus. Faktanya adalah bahwa Access bukan satu-satunya sistem manajemen basis data (DBMS). Mungkin Anda pernah mendengar tentang DBMS di Internet seperti MySQL, FreeBSD??? Access hanya menawarkan antarmuka yang sangat nyaman untuk bekerja dengan database, dan di CS lain tidak ada tombol dengan tanda seru. Tetapi selalu ada jendela khusus di mana Anda dapat menulis pernyataan SQL.
Access juga memungkinkan Anda mengedit kueri dalam mode pernyataan SQL:



Aturan bahasa SQL tidak terlalu rumit. Anda bisa lihat sendiri! Buat kueri pemilihan sederhana (misalnya, cetak nama, ras, dan tanggal lahir anjing bernama Harry). Sekarang buka permintaan pencarian Harry dalam mode SQL!
Petunjuknya sangat sederhana:
PILIH bidang1, bidang2, ...
DARI tabel1, tabel2, ...
DIMANA kondisi1, kondisi2,…


Sekarang buka pembaruan, perbarui, hapus kueri (quDelDog, quUpdateDog, quAddDog) dalam mode SQL dan tuliskan templat pernyataan SQL mereka di selembar kertas (seperti yang baru saja Anda lakukan untuk kueri pemilihan).


Kueri dengan parameter, kueri untuk pengelompokan, kueri dengan perhitungan adalah kueri SQL yang sama, tetapi dengan kondisi pemilihan yang sedikit lebih kompleks. Bahasa SQL adalah alat yang sangat diperlukan bagi mereka yang bekerja dengan database!

tugas

Berikut adalah topik yang kami bahas:
- kondisi pemilihan sederhana dan majemuk
- LIKE operatornya
- pilihan dari beberapa tabel
- pembangun ekspresi
- permintaan dengan parameter
- permintaan grup
- permintaan untuk memperbarui, menambah, menghapus
- Bahasa kueri SQL.


Ada banyak! Tetapi, setelah Anda menguasainya, Anda akan dapat menemukan informasi apa pun di database.


Uji pengetahuan Anda! Jalankan kueri berikut di database Anda (atau ganti nama kueri yang sudah Anda jalankan agar sesuai dengan nama tugas):

1. pengambilan sampel

quPilihAnjing: Temukan semua Shar-Peis dan Gordon Setter dari daerah (BUKAN dari Moskow); gunakan operator "tidak sama".

2. Suka operator

quLike: Temukan semua pelanggan MTS (mereka yang nomor ponselnya dimulai dengan 8(916)…).

3. ekspresi

quEvalText: Tulis ekspresi yang membuat nama keluarga dengan inisial dari nama keluarga, nama depan dan patronimik. Ivanov Ivan Ivanovich -> Ivanov I.I.
quEvalDate: Tulis ekspresi yang menghitung umur seekor anjing berdasarkan tanggal lahirnya.
quEvalIif: tulis ekspresi yang menentukan berdasarkan usia di mana kategori usia yang dilakukan anjing: "anak anjing" - hingga satu tahun; "junior" - dari satu hingga dua tahun; "senior" - lebih dari dua tahun.
Tambahan: Terapkan dalam satu tugas satu cara untuk menghitung usia anjing, di lain - lain: 1) kurangi tahun kelahiran anjing dari tahun berjalan; 2) menggunakan fungsi DateDiff, hitung berapa hari telah berlalu sejak lahir hingga hari ini.

4. parameter

quParameter: Buat kueri yang akan menampilkan semua anjing menurut nama belakang pemilik, yang merupakan parameter gratis.

5. pengelompokan

quGroup: Cari tahu anjing mana yang menyebabkan pendapat juri yang paling bertentangan.

6. pengeditan basis data

Sesaat sebelum pertunjukan, pemilik Gorokhovets pergi ke tempat tinggal permanen (tempat tinggal permanen) di Jerman dan memberikan semua anjing kepada temannya Karpov Mikhail Igorevich. Diperlukan:
1) quAddOwner: menambahkan catatan pemilik baru;
2) quUpdateOwner: mengubah ID pemilik anjing Gorokhovet menjadi ID Karpov;
3) quDelOwner: menghapus Gorokhovets dari database.


Saya menunggu database Anda dengan tugas yang sudah selesai, serta templat pernyataan SQL untuk permintaan pembaruan, perubahan, penghapusan.