Array Dinamic (ReDim)
Mei, 29 2008
Gua punya cerita nih….
gua kan skrg lagi ngerjain project buat ngedukung system akunting so gua harus ngirim data yang sudah di jurnal.. misal Bank (D), AP(K), dan Revenue(K). karena data itu aq dapat dari 2 tabel (Bank ama AP), so gua harus nyari tuh Revenuenya…
Misal begini :
tabel Bank ada 5 record (Bank A, Bank B, Bank C, Bank D, Bank E)
tabel AP ada 5 record (AP A, AP B, AP C, AP D, AP E)
sample jurnal :
Bank A 100 (D)
AP A 60 (K)
Revenue A 40 (K)
dst, begitu terus sampai semua ke jurnal.
gua ngejurnalnya pertabel, pertama gua masukin Bank dulu ke debet lalu gua masukin AP. trus gmn ya aq nyari revenuenya….
akhirnya gua dapat cara manipulasinya nih… gua pakai variabel array untuk nyimpen data setiap AP, tapi kendalanya isi tabel AP ga selalu 5 bisa berubah2…. akhirnya gua ke Ommm google deh… bisa ga ya gua bikin array dinamik… alhasil ternyata ada oiii array dinamik…
let’s go Script….
contoh program 1st :
private sub Isi_jurnal
dim pengurang() as double
’statement isi bank (debet)
’statement isi AP [pada syntax ini gua naruh tuh variable arraynya]
[ redim pengurang(rsAP.recordcount)
loop record
pengurang(i)=rsAP!nilai
end loop
]
’statement isi revenue
[ pada proses ini gua ambil tabel data dari tabel bank
loop record bank
revenue=rsBank!nilai-pengurang(i)
end loop
]
end sub
cara kedua lebih keren lagi nih… gua jelasin selesai buat scriptnya.. ye…?
contoh program 2nd :
private sub Isi_jurnal
dim pengurang() as double
’statement isi bank (debet)
’statement isi AP [pada syntax ini gua naruh tuh variable arraynya]
[ qt ngeset dimensinya bertahap ga lsg totalnya..
loop record
if i=0 then
redim preserve pengurang(0)
i=i+1
else
redim preserve pengurang(i)
i=i+1
endif
pengurang(i)=rsAP!nilai
end loop
]
’statement isi revenue
[ pada proses ini gua ambil tabel data dari tabel bank
loop record bank
revenue=rsBank!nilai-pengurang(i)
end loop
]
end sub
*note : variabel i nya disesuaikan.
OK, sekarang gua jelasin sedikit nih apa bedanya yang 1st ana 2nd
1st : waktu qt ngerubah dimensinya secara otomatis data yang sudah masuk akan hilang juga..
2nd : waktu qt ngerubah dimensinya selama dimensinya lebih besar dari dimensi sebelumnya maka data yang pernah masuk akan tetap ada, tapi kalo dimensinya lebih kecil dimensi2 yang lebih besar tsb akan hilang. misal : qt set redim data(5), trus qt redim preserve data(7) maka data(0-5) masih tersimpan tapi kalo redim preserve data(3) maka data(0-3) masih tersimpan lainnya hilang…
begitu doang sih artikelnya…
semoga bermanfaat…..
Entry Filed under: Artikel. Tag: array, preserve, ReDim, vb6.
Trackback this post | Subscribe to the comments via RSS Feed