Cara menjumlahkan seluruh kolom di akses. Menghitung data menggunakan kueri. Cara kerja Sum dan fungsi agregat lainnya

Pada artikel ini kita akan berbicara tentang bidang terhitung di Akses kueri. Kueri, seperti tabel, dapat melakukan penghitungan nilai numerik, string, atau tanggal untuk setiap rekaman menggunakan data dari satu atau beberapa bidang. Hasil penghitungan membentuk kolom kalkulasi baru di tabel kueri. Tidak seperti bidang tabel terhitung, bidang terhitung dalam tabel database sumber tidak membuat bidang baru. Setiap kali kueri dijalankan, perhitungan dibuat berdasarkan nilai bidang saat ini.

Ekspresi bidang terhitung dapat menggunakan konstanta dan fungsi selain nama bidang. Sebagai hasil dari pemrosesan suatu ekspresi, hanya satu nilai yang dapat diperoleh.

Tugas 1. Tabel PRODUCT memiliki kolom PRICE dan RATE_VAT. Hitung harga termasuk PPN dan bandingkan dengan harga yang diperoleh di kolom kalkulasi pada tabel Harga termasuk PPN.

  1. Buat kueri pemilihan dalam mode desain untuk tabel PRODUK. Seret kolom NAME_TOV, PRICE, RATE_VAT dan Price dengan PPN ke dalam formulir permintaan (Gbr. 4.6).
  2. Untuk menghitung harga termasuk PPN, buat kolom terhitung dengan menulis ekspresi [PRICE]+[PRICE]*[RATE_VAT] di sel kosong pada baris Field.
  3. Untuk memilih catatan dengan nilai lebih besar dari 5000 di bidang terhitung, masukkan > 5000 di baris Kriteria
  4. Setelah memasukkan ekspresi, sistem secara default menghasilkan nama bidang terhitung Ekspresi 1, yang menjadi judul kolom dalam tabel dengan hasil kueri. Nama ini akan disisipkan sebelum ekspresi [PRICE]+[PRICE]*[VAT_RATE]. Untuk setiap bidang terhitung baru dalam kueri, jumlah ekspresi bertambah satu. Nama bidang terhitung dipisahkan dari ekspresi dengan titik dua. Untuk mengubah nama, letakkan kursor mouse di kolom kalkulasi formulir permintaan dan klik tombol kanan mouse. Dari menu peka konteks, pilih Properti bidang (Properti) dan di baris Keterangan masukkan nama bidang baru - Harga termasuk PPN1. Sekarang di tabel dengan hasil kueri, nama ini akan ditampilkan di header kolom terhitung. Nama field juga bisa langsung diperbaiki di form permintaan.
  5. Untuk menampilkan hasil kueri, klik tombol Menjalankan(Lari) dalam grup Hasil(Hasil). Bidang terhitung pada tabel dan kueri memiliki nilai yang sama.
  6. Ubah harga produk di salah satu catatan permintaan. Nilai di kedua kolom kalkulasi akan langsung dihitung ulang.
  7. Untuk membentuk ekspresi kompleks dalam bidang terhitung atau kondisi pemilihan, disarankan untuk menggunakan pembuat ekspresi. Pembuatnya memungkinkan Anda memilih nama bidang yang diperlukan dalam ekspresi dari tabel, kueri, tanda operasi, dan fungsi. Hapus ekspresi di bidang terhitung dan gunakan pembuatnya untuk membuatnya.
  8. Panggil Pembuat Ekspresi dengan mengklik tombol Pembangun(Pembangun) dalam grup Penyiapan kueri(Pengaturan Kueri) pita Desain, atau dengan memilih Membangun(Bangun) di menu peka konteks. Kursor mouse harus ditempatkan sebelumnya di sel input ekspresi.
  9. Di sisi kiri jendela Pembangun Ekspresi(Pembangun Ekspresi) (Gbr. 4.7) pilih tabel PRODUK yang menjadi dasar kueri. Daftar bidangnya akan ditampilkan di sebelah kanan. Pilih secara konsisten bidang dan operator yang diperlukan, klik dua kali menyisipkan ke dalam ekspresi. Ekspresi akan terbentuk di bagian atas jendela. Harap dicatat bahwa pembuatnya menunjukkan nama tabel tempatnya sebelum nama bidang dan memisahkannya dari nama bidang dengan tanda seru.
  10. Selesaikan proses pembuatan ekspresi di bidang terhitung dengan mengklik OK.
  11. Simpan permintaan dengan nama ― Harga dengan PPN dan tutup.
  12. Jalankan yang disimpan dengan menyorotnya di panel navigasi dan memilih menu konteks Buka perintah.


Tugas 2. Anda dapat menggunakan fungsi bawaan di bidang terhitung dan kondisi pemilihan. Access memiliki lebih dari 150 fungsi yang ditentukan.
Biarkan perlu untuk memilih semua faktur yang pengirimannya dilakukan pada bulan tertentu. Pada INVOICE, tanggal pengiriman disimpan pada field DATE_OTG dengan tipe data Tanggal/Waktu.

  1. Buat kueri pemilihan dalam mode desain untuk tabel INVOICE. Seret kolom NOM_NAKL dan CODE_SK ke dalam formulir (Gbr. 4.8).
  2. Buat bidang terhitung di sel baris kosong Bidang(Bidang) dengan menulis salah satu ekspresi di sana: Format([INVOICE]![DISPOSITION_DATE];"mmmm") - fungsi ini akan mengembalikan nama lengkap bulan tersebut
    atau Format([INBOOK]![DATE_DATE];"mm") - fungsi ini akan mengembalikan nomor bulan.
  3. Untuk memilih invoice yang diterbitkan pada bulan tertentu, pada kolom kalkulasi pada baris Kondisi Seleksi (Kriteria), masukkan nama bulan, misalnya Maret (Gbr. 4.8), atau nomor bulan, misalnya 3 sesuai dengan parameter dalam fungsi Format.
  4. Selesaikan permintaan Anda dengan mengklik tombol Menjalankan(Lari) dalam grup Hasil(Hasil) pada tab pita Bekerja dengan permintaan | Konstruktor(Alat Kueri | Desain).
  5. Tulis fungsi Bulan(INVOICE!DATE_OTG) di kolom kalkulasi dan pastikan fungsi ini mengembalikan nomor bulan yang diambil dari tanggal.
  6. Untuk memilih semua baris yang terkait dengan kuartal kedua, di baris Kriteria, masukkan operator Antara 4 Dan 6, yang menentukan apakah nilai ekspresi berada dalam interval yang ditentukan.
  7. Tuliskan ekspresi Nama Bulan(Bulan(INVOICE!DATE_OTG)) di bidang terhitung dan pastikan fungsi NamaBulan mengonversi nomor bulan menjadi nama lengkapnya.


Untuk memperkuat hal ini, tonton video tutorialnya.

Baris Total di Access memungkinkan Anda dengan cepat menampilkan ringkasan data di kolom tabel. Misalnya, jika Anda menambahkan baris Total ke tabel yang berisi pembelian, Anda bisa menampilkan total penjualan jumlah total satuan barang atau jumlah barang yang dibeli.

Catatan: Untuk menampilkan jumlah nilai kolom, Anda harus mengatur tipe data kolom ke Numerik, Pecahan, atau Mata Uang. Untuk kolom non-numerik, Anda hanya dapat memilih jenis ringkasan Hitungan Nilai.

Menambahkan baris "Total".

Memilih tipe total

Setelah menambahkan baris hasil Anda memilih jenis total yang ditampilkan untuk setiap kolom. Misalnya, agregat seperti jumlah dapat ditampilkan ketika tipe datanya adalah angka, desimal, atau mata uang. Penghitungan nilai dimungkinkan jika tipe datanya adalah nilai teks.

Mari kita buat tabel dalam contoh ini menampilkan jumlah nilai dalam kolom Harga pembelian Dan Barang yang dibeli dan total untuk kolom tersebut Posisi, seperti yang ditunjukkan pada gambar di bawah ini.

Cara kerja Sum dan fungsi agregat lainnya

Fungsi agregat melakukan penghitungan pada kolom data dan mengembalikan hasil tunggal. Mereka dapat berguna jika Anda perlu menghitung suatu nilai, seperti jumlah atau rata-rata. Perlu diingat hal itu fungsi agregat berlaku untuk kolom data. Hal ini mungkin terlihat jelas, namun saat mendesain dan menggunakan database, Anda biasanya berfokus pada baris data dan rekaman individual sehingga pengguna dapat memasukkan data ke dalam suatu bidang, menggerakkan kursor ke kanan atau ke kiri untuk mengisi bidang berikutnya, dll. Sebaliknya, Anda gunakan fungsi agregat, dengan fokus pada kelompok catatan dalam kolom.

Katakanlah Anda menggunakan Access untuk menyimpan dan melacak data penjualan. Dengan menggunakan fungsi agregat, Anda dapat menghitung jumlah barang yang terjual dalam satu kolom, total penjualan dalam satu kolom, dan rata-rata penjualan untuk setiap item dalam kolom ketiga.

Tabel di bawah menjelaskan fungsi agregat Access yang tersedia di baris Total. Ingatlah bahwa ada fungsi agregat lainnya di Access, namun fungsi tersebut digunakan dalam kueri.

Fungsi

Keterangan

Tipe data yang didukung

Tersedia di baris "Total"?

Menghitung nilai rata-rata untuk sebuah kolom. Kolom harus berisi nilai numerik, moneter, atau tanggal atau waktu. Fungsi ini mengabaikan nilai kosong.

Jumlah nilai

Menghitung jumlah elemen dalam kolom.

Semua tipe data kecuali data skalar berulang yang kompleks seperti kolom daftar multinilai. Untuk informasi selengkapnya tentang daftar multinilai, lihat Praktik terbaik untuk membuat dan menghapus bidang multinilai dalam tutorial Bidang Multinilai.

Nilai maksimal

Mengembalikan elemen dengan nilai tertinggi. Untuk data teks, nilai terbesar adalah nilai terakhir dalam alfabet, dan Access tidak peka huruf besar-kecil. Fungsi ini mengabaikan nilai kosong.

, "Tanggal dan waktu"

Nilai minimal

Mengembalikan elemen dengan nilai terkecil. Untuk data teks, nilai terkecil adalah nilai alfabet pertama, dan Access tidak peka huruf besar-kecil. Fungsi ini mengabaikan nilai kosong.

"Numerik", "Nyata", "Mata Uang", "Tanggal dan Waktu"

Deviasi Standar

"Numerik", "Nyata", "Mata Uang"

Menjumlahkan elemen dalam kolom. Cocok untuk data numerik dan moneter saja.

"Nomor", "Nyata", "Mata Uang"

Penyebaran

Menghitung varians statistik untuk semua nilai dalam kolom. Cocok untuk data numerik dan moneter saja. Jika tabel berisi kurang dari dua baris, Access mengembalikan nilai kosong. Untuk informasi selengkapnya tentang fungsi Varians, lihat bagian selanjutnya.

"Numerik", "Nyata", "Mata Uang"

Pelajari lebih lanjut tentang fungsi Deviasi Standar dan Varians

Fungsi Deviasi Standar Dan Penyebaran nilai statistik dihitung. Secara khusus, mereka digunakan untuk nilai-nilai yang terletak di sekitar nilai rata-ratanya dan mematuhi hukum distribusi normal (berada pada kurva Gaussian).

Misalkan Anda secara acak memilih 10 perkakas yang dibuat pada mesin yang sama dan mengukur kekuatan patahnya untuk pemeriksaan mesin dan pengendalian kualitas. Jika Anda menghitung nilai rata-rata kekuatan patah, Anda akan melihat bahwa untuk sebagian besar perkakas, kekuatan patahnya mendekati nilai rata-rata, tetapi ada juga perkakas dengan nilai yang lebih tinggi dan lebih rendah. Namun, jika Anda hanya menghitung nilai kekuatan patah rata-rata, angka ini tidak akan memberi Anda informasi apa pun tentang efektivitas pengendalian kualitas, karena beberapa perkakas yang sangat kuat atau rapuh dapat menambah atau mengurangi nilai rata-rata.

Fungsi variabilitas Dan deviasi standar tunjukkan masalah ini dengan menunjukkan seberapa dekat nilainya dengan mean. Untuk kekuatan kritis, angka yang lebih kecil yang dihasilkan oleh salah satu fungsi menunjukkan bahwa proses produksi Anda beroperasi secara normal, karena beberapa di antaranya memiliki jangkauan terbatas, berada di atas atau di bawah rata-rata.

Deskripsi rinci varians dan deviasi standar berada di luar cakupan artikel ini. Informasi lebih lanjut tentang kedua fitur tersebut dapat ditemukan di situs web statistik. Saat menggunakan fungsi Penyebaran Dan Deviasi Standar Ingat aturan berikut.

Dalam laporan Access apa pun yang berisi angka, Anda bisa menggunakan total, rata-rata, persentase, atau jumlah kumulatif untuk membuat data lebih mudah dipahami. Artikel ini menjelaskan cara menambahkan elemen ini ke laporan Anda.

Dalam artikel ini

Jenis agregat yang dapat ditambahkan ke laporan

Tabel berikut ini memperlihatkan tipe fungsi agregat di Access yang bisa Anda tambahkan ke laporan Anda.

Perhitungan

Keterangan

Fungsi

Menjumlahkan elemen dalam kolom.

Menentukan rata-rata semua elemen dalam kolom.

Menghitung jumlah elemen dalam kolom.

Nilai maksimal

Mengembalikan elemen yang memiliki nilai terbesar (numerik atau alfabet) di kolom.

Nilai minimal

Mengembalikan elemen yang memiliki nilai terkecil (numerik atau alfabet) di kolom.

Deviasi Standar

Menunjukkan seberapa besar penyimpangan nilai dalam suatu kolom dari rata-rata.

Penyebaran

Menghitung varians untuk semua nilai dalam kolom.

Tambahkan jumlah atau agregat lainnya dalam tampilan tata letak

Mode tata letak memberikan hasil maksimal cara cepat menambahkan jumlah, rata-rata, dan agregat lainnya ke laporan.

Data(Sumber Kontrol) ekspresi yang melakukan perhitungan yang diinginkan. Jika laporan Anda memiliki tingkat pengelompokan, Access juga akan menambahkan kotak teks yang melakukan penghitungan yang sama di setiap bagian catatan grup.

Untuk informasi selengkapnya tentang membuat tingkat pengelompokan dalam laporan, lihat Membuat laporan pengelompokan atau ringkasan.

Menambahkan jumlah atau agregat lainnya dalam mode desain

Konstruktor memungkinkan Anda menyesuaikan penempatan dan penampilan nilai total. Dalam laporan yang dikelompokkan, Anda dapat memasukkan total dan agregat lainnya di header atau catatan kaki setiap grup. Agregat tingkat laporan dapat ditempatkan di header atau footer laporan.

Access menambahkan kotak teks ke header laporan dan menetapkan nilai propertinya Data(Sumber Kontrol) ekspresi yang melakukan perhitungan yang diinginkan. Jika laporan Anda memiliki tingkat pengelompokan, Access juga akan menambahkan kotak teks yang melakukan penghitungan yang sama di setiap bagian catatan grup. Jika untuk properti Jumlah kumulatif(Jumlah Berjalan) kumpulan nilai Untuk semuanya, maka total keseluruhan dapat diulangi di footer laporan. Buat bidang di dalamnya dan tetapkan nilai propertinya sebagai Data(Sumber Kontrol) nama bidang tempat jumlah kumulatif dihitung, misalnya =[Jumlah Pesanan].

Rakyat! Bantu saya membuat permintaan sederhana. Ada tabel: Format Tabel1: Nama pesanan | Jumlah | Jumlah total semua pesanan adalah 10 rubel pertama. kedua 20 gosok. ketiga 30 gosok. Katakan padaku bagaimana cara menambahkan baris di kolom Jumlah? Untuk menampilkan hasil “Jumlah total semua pesanan” = 60 rubel. Dan tabel akan ditambahkan seiring waktu... yaitu. pesanan ke 100 juga akan muncul... oleh karena itu, pesanan ke 100 memiliki jumlahnya sendiri. "Jumlah total semua pesanan" perlu dihitung ulang secara otomatis. Terima kasih sebelumnya atas bantuan Anda.

8 jawaban

Berdasarkan data yang diberikan, hal ini tidak mungkin. Bagaimana cara menentukan pengurutan baris dalam tabel?
Ini mudah dilakukan di Excel. Misalnya, perintah =SUM(A1:A100) - yaitu. kita mendapatkan jumlah untuk 100 sel dalam tabel. Mengapa kita tidak bisa melakukan ini di database? Sebenarnya angka-angka ini (nomor urut) berurutan. Itu. contoh:1 | tas | 100 gosok. |2 | ban | 50 gosok. |...100 | buku | 60 gosok. |...Bagaimana cara menghitung jumlah total semua pesanan (1...100...)?

mivang,Di Excel, ada urutan fisik catatan dalam sebuah tabel. Yang menentukan mana yang lebih tinggi dan mana yang lebih rendah. Dalam database relasional, urutan ini TIDAK ADA. Urutan ditentukan oleh penyortiran yang ditentukan dalam permintaan, dan jika tidak ada, urutannya dapat berupa jenis APAPUN. Jika Anda ingin pertanyaannya masuk akal, tunjukkan dengan jelas kriteria yang menjadi dasar Anda menentukan urutan entri. Pada contoh di atas, misalnya, ini adalah nomor baris. Namun, tidak ada bidang seperti itu dalam struktur tabel yang ditampilkan.

Jika Anda ingin pertanyaannya masuk akal, tunjukkan dengan jelas kriteria yang menjadi dasar Anda menentukan urutan entri. Pada contoh di atas, misalnya, ini adalah nomor baris. Namun, tidak ada bidang seperti itu dalam struktur tabel yang ditampilkan.
Tabel berisi bidang nomor pesanan. Itu. gambaran umumnya kira-kira seperti ini: pesanan no | Nama pesanan | Jumlah pesanan |1 | tas | 10rur |2 | krushka | 20rur |3 | bank | 30rur |... | ... |***|Apakah sekarang sudah ada pengikatannya? Atau sekali lagi saya ada yang tidak mengerti... :(Bagaimana cara mengetahui jumlah total semua pesanan?
Apakah ada tautannya sekarang?
Ya. PILIH Tabel1.[Nomor Pesanan], Tabel1.[Nama Pesanan], Tabel1.[Jumlah Pesanan], Jumlah(q1.[Jumlah Pesanan]) AS [Jumlah total semua pesanan]DARI (PILIH t1.[Nomor Pesanan] , t1.[Nama Pesanan], t1.[Jumlah Pesanan], t2.[Nomor Pesanan] DARI Tabel1 SEBAGAI t1, Tabel1 SEBAGAI t2 WHERE (((t1.[Nomor Pesanan])>=.[Nomor Pesanan] ))) AS q1 INNER JOIN Table1 ON q1.t1.[Nomor Pesanan] = Tabel1.[Nomor Pesanan]GROUP BY Table1.[Nomor Pesanan], Tabel1.[Nama Pesanan], Tabel1.[Jumlah Pesanan];
PILIH Tabel1.[Nomor Pesanan], Tabel1.[Nama Pesanan], Tabel1.[Jumlah Pesanan], Jumlah(q1.[Jumlah Pesanan]) AS [Jumlah total semua pesanan]DARI [ PILIH t1.[Nomor Pesanan] , t1.[Nama Pesanan], t1.[Jumlah Pesanan], t2.[Nomor Pesanan] DARI Tabel1 SEBAGAI t1, Tabel1 SEBAGAI t2 WHERE (((t1.[Nomor Pesanan])>=.[Nomor Pesanan] ))]. AS q1 INNER JOIN Table1 ON q1.t1.[Nomor Pesanan] = Tabel1.[Nomor Pesanan]GROUP BY Table1.[Nomor Pesanan], Tabel1.[Nama Pesanan], Tabel1.[Jumlah Pesanan];
Kesalahan ditampilkan: Penggunaan tanda kurung dengan nama "SELECT t1.[Nomor Pesanan" tidak valid.:((Apa masalahnya? Ditambahkan setelah 3 menit 33 detik Rakyat! Siap kirim BDK. Jika Anda melakukannya. Saya membayar dalam WM. SANGAT MENDESAK (dalam waktu 1 jam)

Anggaplah kita mempunyai tabel berikut: tabel: tblOrdersjenis bidang idOrders CounterfldName TextfldSumma MonetaryMaka querynya akan seperti ini: SELECT Sum(tblOrders.fldSumma) AS FROM tblOrders; Sum-fldSumma ini adalah alias ekspresi Jumlah(tblOrders.fldSumma). Hasilnya, kami mendapatkan tabel dengan satu sel. Untuk klarifikasi, saya menulis contoh kode di VS 2005, tanpa kecuali penanganannya, agar lebih jelas, pertama Anda perlu membuat proyek dan menambahkan tombol di sana DapatkanSumButton dan bidang teks SumTextBox, yaitu mengubah nama mereka. Ganti nama formulir dengan Formulir Utama dan ganti kodenya dengan yang lebih rendah.

Opsi Ketat OnOption Eksplisit OnImports System.Data.OleDbPublic Class MainForm """ Dapatkan jumlah Fungsi Pribadi GetSumma() Sebagai Desimal Menggunakan cn Sebagai OleDbConnection Baru(My.Settings.dbConnectionString) cn.Open() Redupkan cmd Sebagai OleDbCommand = cn.CreateCommand() cmd.CommandText = "SELECT Sum(tblOrders.fldSumma) SEBAGAI DARI tblOrders; " Kembalikan CDec(cmd.ExecuteScalar()) Akhiri Menggunakan Fungsi Akhir """ Pengolahan Klik acara DapatkanSumButtons Sub Pribadi GetSumButton_Click(Pengirim ByVal Sebagai System.Object, ByVal dan As System.EventArgs) Menangani GetSumButton.Click " Menampilkan jumlah dalam mata uang saat ini Me.SumTextBox.Text = FormatCurrency(GetSumma()) Akhiri Kelas SubEnd Agar contoh berfungsi , Anda harus berada di Proyek Saya >>Pengaturan tambahkan baris dengan nama dbConnectionString konten berikut Penyedia=Microsoft.Jet.OLEDB.4.0;Sumber Data=|DataDirectory|\orders.mdb . Lampirkan database MS Access ke proyek atau cukup salin ke direktori dengan file yang dapat dieksekusi