Deklarasi Array didalam VBA Microsoft Access

Mendeklarasikan array sama saja dengan mendeklarasikan variable lain, yaitu dapat menggunakan statement Dim, Static, Private atau Public. Perbedaan antara variabel scalar (yaitu variable selain array) dengan variable array adalah variable array biasanya mempunyai ukuran (size) variabel yang bisa ditentukan. Array yang mempunyai ukuran tetap disebut Fixed Array. Sedangkan array yang mempunyai ukuran yang dapat dirubah saat kode dijalankan disebut juga Dynamic Array.

Mendeklarasikan Fixed Array

Lihat contoh dibawah ini, dimana sebuah variable Fixed Array yang berupa variable Integer mempunyai 11 baris dan 11 kolom.

Dim MyArray(10, 10) As Integer

Angka 10 yang dicetak tebal menyatakan jumlah baris, sedangkan angka 10 yang digaris bawahi menyatakan jumlah kolom. Sebagaimana mendeklarasikan variable lainnya, jika anda tidak mendeklarasikan data type untuk array tersebut, maka secara otomatis VBA menganggap variable array tersebut bertype Variant. Untuk Variant type numeric maximum bisa sampai 16 bytes. Sedangkan variant type string maximum bisa sampai 22 bytes. Tetapi agar code Anda dapat dijalankan secara cepat, sebaiknya Anda sebisa mungkin menggunakan variable yang mempunyai data type yang spesifik (selain Variant), misalnya untuk numeric bisa mengunakan Integer / Double dan untuk string bisa menggunakaan data type String. Contoh:

‘ Integer array menggunakan 22 bytes (11 elements * 2 bytes).

‘ Ingat! Integer memang mempunyai size max = 2 bytes.

ReDim MyIntegerArray(10) As Integer

‘ Double-precision array menggunakan 88 bytes (11 elements * 8 bytes).

‘ Ingat! Double memang mempunyai size max = 8 bytes.

ReDim MyDoubleArray(10) As Double

‘ Variant array menggunakan lebih dari 176 bytes (11 elements * 16 bytes).

ReDim MyVariantArray(10)

‘ Integer array menggunakan 100 * 100 * 2 bytes (20,000 bytes).

ReDim MyIntegerArray(99, 99) As Integer

‘ Double-precision array menggunakan 100 * 100 * 8 bytes (80,000 bytes).

ReDim MyDoubleArray(99, 99) As Double

‘ Variant array menggunakan lebih dari 160,000 bytes-

‘ yaitu : (100 * 100 * 16 bytes).

ReDim MyVariantArray(99, 99)

Size maksimum dari variable array sebenarnya tergantung dari Operating System yang Anda gunakan dan seberapa besar memori yang terdapat didalam PC Anda. Penggunaan array selalu memerlukan memori yang cukup banyak karena data harus dibaca dan ditulis secara terus menerus sampai variable array tersebut habis.

Mendeklarasikan Dynamic Array

Dynamic array memungkinkan Anda untuk merubah size (ukuran) array ketika code sedang dijalankan (running). Gunakan statement Static, Dim, Private, atau Public untuk mendeklarasikan dynamic array. Contoh:

Dim sngArray() As Single

Pada umumnya, untuk mendeklarasikan dynamic array secara lengkap didalam prosedur menggunakan statement Redim. Harap hati-hati agar tidak salah dalam mengeja nama array ketika menggunakan statement Redim. Jika statement Option Explicit disertakan didalam module, maka array kedua akan langsung diciptakan.

Syntaks untuk statement Redim ini adalah:

ReDim [Preserve] varname(subscripts) [As
type] [, varname(subscripts) [As
type]] . . .

BagianDeskripsi
PreserveKode Preserve ini boleh disisipkan boleh juga tidak. Kode ini digunakan untuk menjaga data didalam array agar selalu tersimpan didalam memori ketika Anda merubah size array pada perubahan yang terakhir / sebelumnya.
varnameIni harus diisi dengan nama variable yang mendefiniskan array dimensi.
subscriptsIni juga harus diisi dengan dimensi dari array tersebut, maksimum bisa sampai 60 dimensi. Sintaks nya adalah:

[lower To] upper [,[lower To] upper] . . .

typeDiisi dengan type data dari variable tersebut. Jika dikosongkan, otomatis dianggap type data Variant.

Dibawah ini memperlihatkan contoh-contoh penggunaan Redim untuk penyediaan dan penyediaan ulang untuk ruang penyimpanan variable bertype dynamic array (diasumsikan semua array pada contoh-contoh dibawah ini menggunakan Option Base 1) :

Contoh 1, penggunaan statement Redim standard:

Dim MyArray() As Integer ‘ Deklarasi dynamic array.

ReDim MyArray(5) ‘ Mengalokasikan 5 element.

For I = 1 To 5 ‘ Mengulang sebanyak 5 kali.

    MyArray(I) = I ‘ Inisialisasi array.

Next I

Contoh 2, statement dibawah ini me”resize” array dan menghapus setiap elemennya:

ReDim MyArray(10) ‘ Resize kedalam 10 element.

For I = 1 To 10    ‘ Mengulang sebanyak 10 kali.

    MyArray(I) = I    ‘ Inisialisasi array.

Next I

Contoh 3, statement dibawah ini me”resize” array tapi tidak menghapus setiap elemennya:

ReDim Preserve MyArray(15)    ‘ Resize kedalam 15 element.

Lihatlah pada stetement yang terakhir, penulis menggunakan statement Preserve pada deklarasi variablenya. Ini berguna untuk mempertahankan atau mengawetkan setiap element dari array agar tidak terhapus.

Beri Nilai Artikel Ini:

Leave a Reply

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