Access
 sql >> Teknologi Basis Data >  >> RDS >> Access

Modul Kelas MS-Access dan VBA

Pengantar.

Beberapa minggu terakhir kita telah belajar bagaimana menggunakan User-Defined Type (UDT) dengan membuat struktur data yang kompleks dan kita mengetahui kekuatan atau kelemahan UDT, kurang lebih sekarang. Jika Anda belum membaca Artikel tersebut maka Anda dapat mengunjunginya. Gunakan tautan berikut:

  • Jenis Data Buatan Pengguna-2
  • Jenis Data Buatan Pengguna-3

Di Microsoft Access, ada dua jenis Modul VBA.

  1. Modul Standar
  2. Modul Kelas

Kami telah bekerja dengan Modul Kelas di Formulir dan Laporan dari Microsoft Access. Program Modul Kelas Formulir/Laporan sebagian besar digerakkan oleh Peristiwa (Klik-Tombol, Sebelum Pembaruan, Formulir/Laporkan Peristiwa Saat Ini, dan seterusnya) rutinitas kecil.

Program pemrosesan data yang lebih serius akan ditulis dalam Modul Standar. Beberapa program, tidak harus terkait, dapat ditulis dalam satu Modul Standar, untuk melakukan tugas yang berbeda.

Modul Kelas berbeda. Mereka digunakan untuk membangun Objek Kustom dan satu Modul Kelas digunakan hanya untuk satu objek.

Dasar-dasar Modul Kelas yang Berdiri Sendiri.

Mari kita membuat Modul Kelas sederhana dari awal dan mempelajari dasar-dasarnya.

  1. Mulai Microsoft Access dan Buka Database atau Buat yang baru. Jika itu adalah Database Baru, simpan ke Lokasi (Folder) Tepercaya yang ada atau tambahkan Lokasi baru ke daftar lokasi tepercaya. Klik Tombol Office -> Opsi Akses -> Pusat Kepercayaan -> Pengaturan Pusat Kepercayaan. Tambahkan folder database ke dalam daftar dan klik OK.
  2. Buka Jendela Pengeditan VBA (Alt+F11).
  3. Klik Sisipkan Menu dan pilih Modul Kelas dari daftar. Modul Kelas baru dimasukkan.

  • Di panel kiri, ada Nama kontrol dengan nama Kelas1.
  • Ganti nama Kelas1 ke ClsArea . Ini adalah nama Objek Kustom kami.

  • Catatan: Nama Kelas:ClsArea menjadi Nama Objek. Artinya, dimanapun kita menggunakan objek ini akan menjadi seperti deklarasi variabel normal:Dim xyz As ClsArea . Kami memang menulis pernyataan serupa untuk deklarasi Tipe Data Buatan Pengguna.

    Selanjutnya, kita akan menambahkan tiga Properties (Variabel) dari Object (untuk Deskripsi, Panjang, dan Lebar ) di bagian atas modul, di bawah Pilihan Bandingkan Basis Data dan Opsi Eksplisit garis. Ketik baris berikut ke dalam Modul Kelas.

    Opsi Bandingkan DatabaseOption ExplicitPublic p_Desc sebagai StringPublic p_Length sebagai DoublePublic p_Width sebagai Double

    Variabel-variabel ini diidentifikasi sebagai Properti dari Objek Kelas Kustom VBA. Simpan Modul Kelas.

    Catatan: Objek Modul Kelas kami dan baris kode tidak akan sesederhana ini. Ini akan mengalami perubahan dengan beberapa baris kode. Lebih baik bersiaplah untuk mengikuti mereka langkah demi langkah, tanpa kehilangan jejak setiap tahap perubahan. Ini adalah Kelas perhitungan luas sederhana (luas =panjang * lebar ), sesederhana itu. Secara bertahap akan mengalami perubahan sehingga Anda akan tahu mengapa perubahan itu diperlukan.

    Kami akan menulis program kecil dalam Modul Standar untuk menguji Modul Kelas baru kami. Masukkan Modul Standar dari Menu Sisipkan. Anda dapat Mengetik atau Salin dan Tempel Kode berikut ke Modul Standar, menimpa baris yang ada di Modul:

    Option Bandingkan DatabaseOption ExplicitPublic Function ClassTest1()Dim oArea As ClsAreaSet oArea =New ClsAreaoArea.Set oArea =NothingEnd Function

    Redup pernyataan mendeklarasikan Variabel seperti yang kita lakukan untuk variabel normal, seperti Dim Desc as String. Tapi, ini bukan variabel biasa yang kami setel referensi ke Objek Modul Kelas kami ClsArea . Karena ini adalah objek, pernyataan Dimensi sederhana saja tidak cukup karena tidak akan mengalokasikan ruang memori apa pun untuk menyimpan nilai ke dalam Objek oArea yang didefinisikan secara lokal. Properti.

    Set pernyataan di baris berikutnya dengan Baru kata kunci diperlukan, untuk membuat instance objek dari ClsArea dalam memori, dengan Nama Instance Objek oArea . Kita dapat membuka beberapa instance dari Objek Kelas yang sama dalam memori dengan cara ini jika diperlukan, (Kita akan mempelajarinya dalam beberapa minggu mendatang) sehingga kita dapat menyimpan nilai ke dalam Propertinya (p_Desc, p_Length, p_Width). p_ prefix ke variabel merupakan indikator bahwa Lingkup variabel adalah Private, yaitu Variabel tidak terlihat di luar Class Module jika variabel dideklarasikan dengan kata kunci Private, tetapi sekarang dideklarasikan sebagai Publik. Nama variabel dapat berupa nama yang valid.

    Catatan: Kami belum mendeklarasikannya sebagai Private. Kami sedang menuju perubahan itu.

    Segera setelah kata kunci Tetapkan nama Objek lokal (Anda dapat memilih nama yang sesuai yang Anda inginkan tetapi harus sesuai dengan aturan nama variabel normal) diikuti dengan tanda sama dengan dan kata kunci Baru dan Nama Modul Kelas (ClsArea) untuk membuat instance Obyek clsArea di memori dengan semua Properti (Variabel).

    Ada jalan pintas untuk kode dua baris ini. Tindakan dari kedua baris kode ini dapat dicapai dengan satu pernyataan seperti yang ditunjukkan di bawah ini :

    Dim oArea As ClsAreaSet oArea =New ClsArea'jalan pintas ke dua pernyataan di atasDim oArea As New ClsArea

    Saat Anda mengetik baris berikutnya oArea diikuti oleh titik (. ) pemisah tampilan berikut akan muncul untuk menampilkan daftar Properti Objek Kustom yang tersedia untuk dipilih.

    Jika tidak muncul, buka dialog Opsi dari kotak menu Alat dan beri tanda centang di Daftar Anggota Otomatis di Tab Editor.

    Sebelum keluar dari Fungsi, pernyataan terakhir harus Set oArea =Nothing . Pernyataan ini secara eksplisit melepaskan memori yang ditempati oleh instance Objek Kustom, sehingga lebih banyak memori tersedia untuk program lain. Ini adalah operasi pembersihan yang bertanggung jawab oleh program kami.

    Apa pun yang kita lakukan dengan Objek Kustom yang dipakai harus dikodekan antara Set pertama dan terakhir pernyataan.

    Program Tes Objek Kelas ClsArea.

    Kode Program Pengujian Kelas yang lengkap diberikan di bawah ini:

    Pilihan Bandingkan DatabaseOption ExplicitPublic Function ClassTest1()Dim oArea As ClsAreaSet oArea =New ClsAreaoArea.p_Desc ="Karpet"oArea.p_Length =25oArea.p_Width =15Debug.Print "Description", "Length",.Print"Debug oArea.p_Desc, oArea.p_Length, oArea.p_WidthSet oArea =Fungsi NothingEnd

    Klik di suatu tempat di tengah Kode dan tekan F5 untuk menjalankan program. Jalankan program diberikan di bawah ini untuk referensi.

    Deskripsi Panjang LebarKarpet 25 15 

    Publik|Cakupan Pribadi Properti Objek.

    Objek Modul Kelas sederhana kami memiliki beberapa kekurangan dan kami akan memperbaikinya.

    Yang pertama adalah kita telah mendeklarasikan semua Variabel (atau Properti) dengan Publik Cakupan. Karena itu, mereka dapat dilihat oleh program VBA lain dan dapat mengubah nilainya secara langsung. Masalah kedua adalah ia akan menerima nilai yang tidak valid, seperti nilai negatif atau nol, yang tidak cocok untuk Objek Kelas kita. Kita harus memasukkan beberapa pemeriksaan validasi sebelum menerima nilai ke dalam variabel.

    Masalah pertama dapat kita selesaikan dengan mudah dengan mengubah deklarasi variabel dari Public menjadi Private . Ketika kita melakukannya, kita harus memiliki beberapa metode tidak langsung untuk menyimpan dan mengambil nilai dari Variabel Pribadi. Itulah tujuan dari Dapatkan dan Biarkan Prosedur Properti, untuk setiap Properti Objek. Mari kita buat perubahan ini di Modul Kelas.

    Buka Modul Kelas ClsArea. Ubah kata Public menjadi Private untuk ketiga variabel tersebut.

    Prosedur Membuat Properti

    Pilih Prosedur dari Sisipkan Menu, ketik strDesc di Nama kontrol teks, pilih Properti di Jenis Grup Opsi dan Publik di Cakupan kelompok pilihan. Klik OK untuk menyisipkan Prosedur Properti untuk p_Desc Pribadi Variabel (Properti).

    Pilihan Bandingkan DatabaseOption ExplicitPrivate p_Desc Sebagai StringPrivate p_Length Sebagai DoublePrivate p_Width Sebagai Properti DoublePublic Dapatkan strDesc() Sebagai String strDesc =p_Desc 'kembalikan nilai dari p_DescEnd PropertyPublic Property Biarkan strDesc(ByVal nilai As =strNew_Descue 'store nilai p_DescEnd Properti

    Keduanya Dapatkan Prosedur dan Biarkan Prosedur dinyatakan sebagai Publik . Kedua nama Prosedur adalah strDesc yang sama. Secara default, dikembalikan tipe datanya adalah Varian di Dapatkan Prosedur dan tipe data Parameter juga disisipkan sebagai Varian di Biarkan Prosedur. Ini dapat kami ubah ke jenis tertentu sesuai kebutuhan, yang kami lakukan dan ubah menjadi String Tipe. Tiga huruf pertama str di strDesc memberi Pengguna petunjuk bahwa Properti mengharapkan nilai tipe data String. Ubah Biarkan Prosedur Properti Parameter Nama Variabel vNewValue ke strNilai Baru

    Saat kami memasukkan Prosedur Properti, mereka selalu disisipkan dengan Dapatkan dan Biarkan Pasangan prosedur untuk Variabel.

    Sekarang, perhatikan baik-baik ekspresi yang telah kita tulis di dalam Dapatkan Prosedur. Sisi kiri = Tanda tangani nama Get Procedure strDesc bertindak sebagai variabel untuk mengembalikan nilai yang disalin dari Variabel Pribadi p_Desc ke program panggilan.

    Biarkan Prosedur strDesc menerima nilai String dalam variabel parameter strNewValue . Nilai input ditransfer ke variabel pribadi kami p_Desc.

    Hal yang perlu diperhatikan di sini adalah bahwa tidak ada akses langsung ke p_Desc variabel pribadi kita ke dunia luar. Transportasi nilai Dari/Ke Variabel (Properti) p_Desc selalu dirutekan melalui Dapatkan/Biarkan Prosedur Properti saja dan tunduk pada Pemeriksaan validasi (belum diimplementasikan), Kami akan memperkenalkan pemeriksaan validasi pada input nilai (Biarkan Prosedur) ke dalam Properti nanti.

    Dapatkan/Biarkan Prosedur dijalankan secara otomatis tergantung pada apa yang kita lakukan dengan properti Objek dalam ekspresi di Program VBA.

    Dapatkan prosedur dijalankan ketika kita menggunakan Nama Properti dalam ekspresi dengan cara berikut:

    ‘ Membaca nilai dari p_Desc ke PrintDebug.Print oArea.strDescOR‘ Membaca nilai dari p_Desc dan menetapkannya ke variabel XX =oArea.strDesc

    Biarkan Prosedur Properti dijalankan ketika kami mencoba menetapkan nilai ke dalam Nama Properti. Periksa contoh ekspresi dalam Program Tes kami di bawah ini:

    oArea.strDesc =“Karpet”

    Dalam buku Bahasa BASIC sebelumnya Anda dapat melihat penggunaan kata kunci LET.

    LET X =25' LET adalah opsional

    Karena itu opsional, pernyataan berfungsi tanpanya dan berhenti menggunakannya sama sekali.

    Di sini, jika Anda hanya membaca beberapa nilai dari Variabel dan tidak menyimpan apa pun ke dalamnya secara langsung maka Anda dapat menghilangkan Prosedur Let dan hanya menggunakan Dapatkan Prosedur.

    Aturan ini juga berlaku untuk prosedur Let. Anda hanya dapat menggunakan Biarkan Prosedur, jika Anda menetapkan beberapa nilai ke dalam Variabel Privat tetapi tidak membaca apa pun kembali dari variabel yang sama, lalu hilangkan Prosedur Get.

    Dapatkan dan Biarkan Prosedur akan berjalan satu demi satu jika ekspresi kita seperti berikut:

    oArea.strDesc =oArea.strDesc &“ – Ukuran King.”

    Dalam ekspresi di atas, kita akan Mendapatkan nilai yang ada dari Variabel Pribadi p_Desc dan ubah deskripsi dan simpan kembali ke variabel yang sama. Singkatnya dalam ekspresi jika Anda menggunakan nama Properti di sebelah kanan tanda sama dengan (= ) Dapatkan Prosedur dipanggil dan Biarkan Prosedur dijalankan ketika nama prosedur properti objek muncul di sebelah kiri sama dengan (= ) tanda.

    Masukkan dua set Prosedur Properti untuk variabel p_Length dan p_Width. Saat Anda memberikan nama Prosedur di Nama kontrol beri nama dblLength dan dblWidth untuk memberikan petunjuk kepada Pengguna bahwa Properti ini mengharapkan angka Presisi Ganda sebagai Input.

    Objek Kelas ClsArea dengan Prosedur Propertinya.

    Kode yang telah diselesaikan sejauh ini dengan Prosedur Properti dblLength dan dblWidth diberikan di bawah ini untuk referensi dan untuk memperbarui kode Anda.

    Opsi Bandingkan DatabaseOption ExplicitPrivate p_Desc Sebagai StringPrivate p_Length Sebagai DoublePrivate p_Width Sebagai Properti DoublePublic Dapatkan strDesc() Sebagai String strDesc =p_Desc 'salin nilai dari p_DescEnd PropertyPublic Property Biarkan strDesc(ByVal strEnd Property strNewValue As =strNewValue Property ) As Double dblLength =p_LengthEnd PropertyPublic Property Biarkan dblLength(ByVal dblNewValue As Double) p_Length =dblNewValueEnd PropertyPublic Property Dapatkan dblWidth() Sebagai Double dblWidth =p_WidthEnd Property dblNewValueEnd PropertyBiarkan dblWidth() Sebagai Double dblWidth =p_WidthEnd Property Program Uji dengan Perubahan.  

    Jika Anda telah menyelesaikan kode di atas, maka izinkan kami membuat perubahan pada program pengujian kami, untuk mencerminkan perubahan yang kami buat di sini. Kode sampel yang dimodifikasi diberikan di bawah ini.

    Pilihan Bandingkan DatabaseOption ExplicitPublic Function ClassTest1()Dim oArea As ClsAreaSet oArea =New ClsArea'Property Biarkan prosedur disebut hereoArea.strDesc ="Karpet"oArea.dblLength =25oArea.dblWidth =15Debug.Print "Deskripsi", "Panjang", "Lebar"'Property Get Procedures dipanggil di sini untuk printDebug.Print oArea.strDesc, oArea.dblLength, oArea.dblWidthSet oArea =NothingEnd Function

    Saat Anda memasukkan titik (.) tepat setelah nama objek oArea (oArea.) daftar nama Prosedur Properti ditampilkan oleh VBA IntelliSense dan Anda dapat memilih yang diperlukan dari daftar tanpa mengetiknya secara manual.

    Tujuan dari Objek Kelas ini adalah untuk menghitung luas sesuatu, seperti Luas Ruangan, Karpet, Ubin, atau bahan apa pun, yang memiliki nilai Panjang dan Lebar. Itu berarti kita membutuhkan Fungsi Publik untuk menghitung Area dari Nilai Panjang, Lebar, dan Deskripsi item apa pun yang dimasukkan ke dalam Objek Kelas.

    Metode Objek ClsArea:Area()

    Berikut Kode Fungsi Publik:

    Area Fungsi Publik() Sebagai Area Ganda =Me.dblLength * Fungsi Me.dblWidthEnd

    Anda dapat menyisipkan Fungsi ini dari Sisipkan Menu dengan memasukkan Area di Nama Kontrol, pilih Fungsi dari Jenis grup opsi, dan Publik sebagai Cakupan ke dalam Modul Kelas ClsArea. Lengkapi Fungsi dengan memasukkan garis di tengah.

    Kita bisa langsung menangani variabel p_Length dan p_Width (karena Fungsi Area() adalah bagian dari Modul Kelas) dalam ekspresi untuk menghitung Area. Tapi, kami mengambil rute yang tepat dan memanggil Get Procedures dblLength dan dblWidth untuk perhitungan. Anda mungkin telah memperhatikan referensi Saya. digunakan untuk mengkualifikasi dblLength, dblWidth Get Procedures, seperti yang biasa kita tulis di Modul Kelas Formulir/Laporan, untuk merujuk ke Objek saat ini di memori dan Propertinya. Seperti yang saya nyatakan sebelumnya, Objek Kelas Kustom kami dapat memiliki beberapa instance Objek yang dibuka di memori secara bersamaan dan Saya kata kunci mengacu pada instance saat ini yang menjadi milik Area Fungsi().

    Uji Fungsi dengan Modifikasi.

    Ubah Test Function ClassTest1() kami untuk memasukkan output fungsi Area() seperti di bawah ini:

    Pilihan Bandingkan DatabaseOption ExplicitPublic Function ClassTest1()Dim oArea As ClsAreaSet oArea =New ClsAreaoArea.strDesc ="Karpet"oArea.dblLength =25oArea.dblWidth =15Debug.Print "Deskripsi", "Panjang", "Area "Debug.Print oArea.strDesc, oArea.dblLength, oArea.dblWidth, oArea.AreaSet oArea =NothingEnd Function

    Perubahan hanya dalam pernyataan Debug.Print. Jalankan kode dan periksa Jendela Debug untuk hasilnya.

    Ada dua Prosedur Peristiwa yang diperlukan dalam Modul Kelas Khusus:Class_Initialize() dan Kelas_Terminasi() .

    Metode Eksekusi Otomatis.

    Class_Initialize() program dijalankan secara otomatis ketika kita membuat instance Object dengan Baru Kata Kunci. Program ini dapat digunakan untuk mengatur nilai default ke dalam variabel atau Instansiasi Objek lain dalam memori. Satu Objek Kelas dapat menggunakan Kelas lain sebagai objek anak dan perlu dipakai. Aspek ini akan kami jelajahi lebih lanjut dan pelajari cara melakukannya nanti.

    Kelas_Terminasi() program berjalan saat kami mencoba menghapus objek dari memori saat Tidak Ada kata kunci dijalankan dalam pernyataan Tetapkan oArea =Tidak Ada . Saat program yang menggunakan Objek Kelas berakhir, Instance Objek di memori dihapus secara default. Tapi itu adalah praktik pemrograman yang baik yang kami gunakan Set oArea =Nothing pernyataan sebagai pernyataan terakhir yang dapat dieksekusi dalam program kami untuk menghapus objek dari memori.

    Kami akan menambahkan program di atas di Modul Kelas kami. Tambahkan kode berikut di akhir Modul Kelas Anda:

    Private Sub Class_Initialize() p_Length =0 p_Width =0 'MsgBox "Initialize.", vbInformation, "Class_Initialize()"End SubPrivate Sub Class_Terminate() 'MsgBox "Terminate.", vbInformation, "Class_Terminate()"End Sub 

    Jika Anda ingin menguji kedua sub-rutin ini, hapus simbol Komentar dan aktifkan MsgBox. Jalankan program pengujian Anda sekali lagi. Anda akan menemukan Inisialisasi pesan muncul di awal (Klik OK untuk melanjutkan) dan Hentikan pesan muncul di akhir Program Tes.

    Saya tahu apa yang Anda pikirkan sekarang, seperti "begitu banyak kode untuk mengalikan dua variabel bersama-sama". Memang benar dalam perspektif itu, tetapi sangat mungkin bahwa kami telah menulis kode untuk masalah pemecahan masalah yang serupa berulang kali setiap saat, menggandakan kode untuk pemeriksaan validasi dan untuk perlindungan kesalahan logis lainnya.

    Di sini, kami tidak menulis Program biasa tetapi mengembangkan Objek Kustom yang dapat digunakan berkali-kali atau dapat menjadi bagian dari Objek lain, di mana pun kami membutuhkannya tanpa khawatir tentang cara kerjanya, dari sudut pandang pengguna. Microsoft Access memiliki banyak Objek/Fungsi bawaan yang kami gunakan sepanjang waktu tanpa mengkhawatirkan cara kerjanya, dengan menyetel Properti atau Parameternya dan menyelesaikan pekerjaan.

    Kami memiliki satu masalah lagi yang harus diselesaikan, validasi memeriksa nilai yang dimasukkan ke dalam dblNewValue Parameter di Biarkan Prosedur Properti dblLength() dan dblWidth(), untuk memastikan bahwa nilai yang valid ditetapkan ke Properti Objek p_Length dan P_Width .

    Nilai Negatif atau Nol yang dimasukkan dianggap tidak valid dan kami harus mengambil tindakan pencegahan untuk melihat bahwa nilai yang benar dimasukkan oleh Pengguna.

    Melakukan Pemeriksaan Validasi.

    Biarkan . yang dimodifikasi Segmen Kode Prosedur Properti diberikan di bawah ini. Lakukan perubahan pada kode Anda.

    Properti Publik Biarkan dblLength(ByVal dblNewValue As Double) Lakukan Sementara dblNewValue <=0 dblNewValue =InputBox("Nilai Negatif/0 Tidak Valid:", "dblLength()", 0) Loop p_Length =dblNewValueEnd PropertyBiarkan Properti Publik dblNewValue As Double) Lakukan Sementara dblNewValue <=0 dblNewValue =InputBox("Nilai Negatif/0 Tidak Valid:", "dblwidth()", 0) Loop p_Width =dblNewValueEnd Property

    Lakukan Sementara. . . Putaran berjalan berulang kali hingga nilai yang valid (lebih besar dari 0) dimasukkan ke dblNewValue oleh Pengguna

    Pemeriksaan Validasi di Metode Publik:Area()

    Kami membutuhkan satu pemeriksaan validasi lagi di Area() Fungsi. Jika pengguna memanggil fungsi Area() tanpa memasukkan nilai yang valid untuk Panjang dan Lebar terlebih dahulu, maka Pengguna harus diberi tahu tentangnya. Kami akan memeriksa apakah variabel p_Length dan p_Width memiliki nilai yang valid sebelum menjalankan ekspresi untuk perhitungan area. Ini Kodenya:

    Area Fungsi Publik() Sebagai Double If (Me.dblLength> 0) Dan (Me.dblWidth> 0) Then Area =Me.dblLength * Me.dblWidth Else Area =0 MsgBox "Error:Length/Width Value(s) ) Tidak valid., Program dibatalkan." Akhiri Fungsi IfEnd

    Kode Lengkap Objek ClsArea.

    Kode Lengkap Modul Kelas ClsArea kami diberikan di bawah ini:

    Opsi Bandingkan DatabaseOption ExplicitPrivate p_Desc Sebagai StringPrivate p_Length Sebagai DoublePrivate p_Width Sebagai Properti DoublePublic Dapatkan strDesc() Sebagai String strDesc =p_Desc 'salin nilai dari p_DescEnd PropertyPublic Property Biarkan strDesc(ByVal strEnd Property strNewValue As =strNewValue Property ) As Double dblLength =p_LengthEnd PropertyPublic Property Biarkan dblLength(ByVal dblNewValue As Double) Lakukan Sementara dblNewValue <=0 dblNewValue =InputBox("Nilai Negatif/0 Tidak Valid:", "dblLength()", 0) Loop Properti GetblNewValue p_Lengthal dblWidth() As Double dblWidth =p_WidthEnd PropertyPublic Property Biarkan dblWidth(ByVal dblNewValue As Double) Lakukan While dblNewValue <=0 dblNewValue =InputBox("Nilai Negatif/0 Tidak Valid:", "dblwidth()", 0) Loop p_ Function Area() Sebagai Double If (Me.dblLength> 0) Dan (Me.dblWidth> 0) Maka Area =Me.dblLength * Me.dblWidth Area Lain =0 MsgBox "Kesalahan:Nilai Panjang/Lebar Tidak Valid., Program dibatalkan." End IfEnd FunctionPrivate Sub Class_Initialize() p_Length =0 p_Width =0 'MsgBox "Initialize.", vbInformation, "Class_Initialize()"End SubPrivate Sub Class_Terminate() 'MsgBox "Terminate.", vbInformation, "Class_Terminate()"End Sub 

    Prosedur dan Metode Pengujian Properti.

    Anda dapat menguji Objek Kelas Kustom kami dengan memasukkan nilai negatif atau 0 sebagai input ke dblLength, dblWidth Properties.

    Dalam Test Program, beri komentar pada baris (oArea.dblLength=25 dan oArea.dblWidth=15) untuk menguji fungsi Area(). Seharusnya menampilkan pesan Kesalahan yang telah kita tulis di dalam fungsi.

    Modul Kelas Perhitungan Area kami sekarang dianggap lengkap dan kami telah menguji dan menemukannya berfungsi dengan benar. Anda dapat mengujinya lebih lanjut untuk kesalahan logis yang saya abaikan. Jika Anda menemukan sesuatu yang tidak saya antisipasi, silakan bagikan dengan saya.

    Rencana Pengujian di Masa Depan.

    Kami telah menguji Objek Kelas hanya untuk satu item. Kita perlu menghitung luas beberapa item (misalnya luas 5 kamar tidur atau 10 Karpet dengan ukuran berbeda dan seterusnya. Kita diberitahu bahwa begitu sebuah objek dikembangkan, kita dapat menginstansiasinya beberapa kali dalam memori dengan menetapkan serangkaian nilai yang berbeda ke dalam setiap instance Object dan dapat bekerja dengannya.

    Selain itu, Objek ini dapat digunakan sebagai bagian dari Objek lain yang kami kembangkan dengan kode yang lebih rendah karena bagian dari Objek Kelas baru kami sudah dikembangkan di Modul Kelas ClsArea.

    Minggu depan kita akan belajar cara membuat Array Objek Kustom untuk menghitung luas beberapa item.

    1. Modul Kelas MS-Access dan VBA
    2. Array Objek Kelas VBA MS-Access
    3. Kelas Dasar MS-Access dan Objek Turunannya
    4. Kelas Dasar VBA dan Objek Turunan-2
    5. Varian Kelas Dasar dan Objek Turunan
    6. Set Rekaman Ms-Access dan Modul Kelas
    7. Mengakses Modul Kelas dan Kelas Pembungkus
    8. Transformasi Fungsionalitas Kelas Wrapper
    9. Dasar-dasar Ms-Access dan Objek Koleksi
    10. Modul Kelas Ms-Access dan Objek Koleksi
    11. Rekaman Tabel dalam Objek dan Formulir Koleksi
    12. Dasar-dasar Objek Kamus
    13. Dasar-Dasar Objek Kamus-2
    14. Mengurutkan Kunci Objek dan Item Kamus
    15. Menampilkan Rekaman dari Kamus ke Formulir
    16. Menambahkan Objek Kelas sebagai Item Kamus
    17. Memperbarui Item Kamus Objek Kelas pada Formulir


    1. Database
    2.   
    3. Mysql
    4.   
    5. Oracle
    6.   
    7. Sqlserver
    8.   
    9. PostgreSQL
    10.   
    11. Access
    12.   
    13. SQLite
    14.   
    15. MariaDB
    1. Bergabunglah dengan Saya pada hari Selasa 9 April untuk Microsoft Access News terbaru

    2. Temukan Semua Query yang Menggunakan Tabel Tertentu

    3. Bagaimana Basis Data Digunakan dalam E-niaga

    4. Hari Pengembang Akses Belanda 2019 – 14 September

    5. Mencari Data Microsoft Access dengan Elasticsearch