Property Procedure di Dalam Class Module VBA Microsoft Access

Property procedure adalah procedure yang digunakan untuk membuat dan memanipulasi properties pada suatu class module. Beberapa ketentuan dalam membuat property procedure diantaranya adalah:

        Property procedure dapat digunakan untuk membuat read-only properties terhadap form, standard module, dan class module.

        Property procedure sebaiknya digunakan didalam procedure bertype Public.

Ketika Anda membuat suatu property procedure, maka secara otomatis hal itu mengakibatkan terbentuknya property baru terhadap suatu object yang didefinisikan didalam module VBA. VBA mempunyai tiga macam property procedure, yaitu Property Let, Property Get, dan Property Set dimana penggunaan semua property tersebut diakhiri dengan statement End Property.

ProcedureKeterangan
Property LetProcedure yang digunakan untuk memberi nilai terhadap suatu property nonobject.
Property SetProcedure yang digunakan untuk memberi nilai terhadap suatu property object.
Property GetProcedure yang digunakan untuk mengambil nilai terhadap suatu property (baik object maupun nonobject).

Syntax untuk mendeklarasikan Property procedure adalah:

[Public | Private] [Static] Property {Get | Let | Set} nama_property_ [(arguments)] [As
type]

‘ …Kode Anda.

End Property

Property procedure biasanya digunakan secara berpasangan. Property Let digunakan secara berpasangan dengan Property Get. Property Set digunakan secara berpasangan dengan Property Get. Mendeklarasikan Property Get secara sendiri adalah seperti membuat suatu deklarasi property read-only. Oleh karena itu, menggunakan tiga property diatas secara bersama-sama sangat berguna untuk penggunaan variable Variant, karena memang variable Variant dapat mendeklarasikan variable lebih dari satu type informasi, bahkan ia dapat mendeklarasikan suatu object. Property Set digunakan untuk object, sedangkan Property Let sebaliknya.

Argument yang wajib diisi didalam property procedure diataranya adalah:

ProcedureSyntax Deklarasi
Property GetProperty Get propname(1, …, n) As type
Property LetProperty Let propname(1, …,,,, n, n+1)
Property SetProperty Set propname(1, …, n, n+1)

Argument yang pertama s/d argument seterusnya (1,…, n) harus mempunyai nama yang sama dengan semua data type pada semua properties, begitu juga nama property nya. Contoh:

Property Let Names(intX As Integer, intY As Integer, varZ As Variant)

    ‘ …Kode Anda.

End Property

Property Get Names(intX As Integer, intY As Integer) As Variant

    ‘ …Kode Anda.

End Property

Untuk lebih jelasnya, penulis mencoba memberikan sample yang lebih detail lagi untuk masing-masing property diatas pada penjelasan dibawah ini.

Property Let

Contoh berikut ini menggunakan statement Property Let untuk mendefinisikan suatu procedure yang mana memberi suatu nilai terhadap property colour.

Dim CurrentColor As Integer

Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3

‘ Code dibawah ini menset property warna pulpen-

‘ untuk suatu kemasan alat gambar.

‘ Variable module-level CurrentColor diset ke-

‘ nilai numeric yang mengindikasikan warna yang digunakan.

Property Let PenColor(ColorName As String)

    Select Case ColorName ‘ Check nama warnanya (String).

        Case “Red”

            CurrentColor = RED ‘ Memberi nilai untuk warna merah.

        Case “Green”

            CurrentColor = GREEN ‘ Memberi nilai untuk warna hijau.

        Case “Blue”

            CurrentColor = BLUE ‘ Memberi nilai untuk warna biru.

        Case Else

            CurrentColor = BLACK ‘ Memberi nilai untuk warna hitam.

    End Select

End Property

‘ Code dibawah ini digunakan untuk menset property warna pulpen-

‘ untuk suatu kemasan alat gambar

‘ Cara menggunakan procedurenya adalah:

PenColor = “Red”

Property Get

Contoh berikut ini menggunakan Property Get untuk mendefinisikan property procedure yang mana mengambil suatu nilai dari property colour. Property colour yang digunakan mempunyai type data string.

Dim CurrentColor As Integer

Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3

‘ Mengambil warna yang sedang digunakan dari suatu pulpen kedalam string.

Property Get PenColor() As String

    Select Case CurrentColor

        Case RED

            PenColor = “Red”

        Case GREEN

            PenColor = “Green”

        Case BLUE

            PenColor = “Blue”

    End Select

End Property

‘ Code dibawah ini mengambil warna dari suatu pulpen

‘ Cara menggunakan procedurenya adalah:

ColorName = PenColor

Property Set

Contoh berikut ini menggunakan Property Set untuk mendefiniskan suatu property procedure yang menset suatu referensi terhadap suatu object.

Property Set Pen(P As Object)

    Set CurrentPen = P ‘ Menset Pulpen kedalam type data object.

End Property 

Memanggil Property Procedure

Contoh-contoh diatas dapat dijalankan jika Anda telah mengetahui cara memanggil procedure diatas. Berikut ini adalah table yang memuat syntax untuk memanggil property procedure:

Property ProcedureSyntax
Property Let[object.]propname(arguments)] = argument
Property Getvarname = [object.]propname(arguments)]
Property SetSet [object.]propname[.(arguments)] = varname

Ketika Anda memanggil procedure Property Let ataupun Property Set, suatu argument selalu disertakan pada sebelah kanan tanda sama dengan (=). Ketika Anda mendeklarasikan procedure Property Let ataupun Property Set dengan argument lebih dari satu, maka VBA akan mengambil argument pada sisi paling kanan Property Let ataupun Property Set sebagai argument pada saat pemanggilan procedure. Untuk mudahnya, diagram dibawah ini menggambarkan illustrasi bagaimana suatu Property procedure memanggil suatu argument didalam deklarasi Property Let.


Gambar Diagram penggunaan argument yang lebih dari satu pada property procedure

Property procedure yang mempunyai argument lebih dari satu umumnya digunakan dalam membuat suatu properties pada array.

Beri Nilai Artikel Ini:

0 thoughts on “Property Procedure di Dalam Class Module VBA Microsoft Access

  • 11/05/2013 at 10:51 pm
    Permalink

    Gan, mau nanya nih, kalau mau bikin class module yg ada event procedure gimana? Maksudnya begini:
    Dlm sebuah form ada textbox sebut saja “txt1”
    Nah, maunya kita cukup lakukan set ctl = txt1
    Yg nantinya kalau kita klik txt1 saat form aktif, maka akan
    Muncul pesan “Anda menekan txt1”
    Sementara pemunculajn pesan tersebut di program dlm class modue. Mohon pencerahan gan, — Terima Kasih —-

    Reply
    • 14/05/2013 at 10:55 am
      Permalink

      Mohon maaf saya belum tahu Gan tentang ini, biasanya saya langsung set di class module formnya, tidak di class module yang terpisah.

      Reply

Leave a Reply

Do NOT follow this link or you will be banned from the site!
%d bloggers like this: