/* */

Saturday, January 16, 2010

[belajar-access] umpankan nilai

----- Original Message -----
From: "CGSATU" <cgsatu@yahoo.com>
To: <belajar-access@yahoogroups.com>
Sent: Saturday, January 16, 2010 1:42 PM
Subject: Re: [belajar-access] umpankan nilai


Pak Aksan.....

Terimakasih!

Saya sudah terapkan dan berjalan sempurna.

Memang lebih enak kalau main OOP deh.

Saya akan selalu berusaha lebih OOP lagi dimasa depan.....:)

cgsatu

--- On Thu, 1/14/10, Aksan Kurdin <aksan.kurdin@gmail.com> wrote:


From: Aksan Kurdin <aksan.kurdin@gmail.com>
Subject: Re: [belajar-access] umpankan nilai
To: belajar-access@yahoogroups.com
Date: Thursday, January 14, 2010, 3:30 PM


Baik,
mudah-mudahan penjelasan berikut bisa ditangkap:

modul periode saya ubah sebagai berikut:


Option Compare Database

Public Awal As Date
Public akhir As Date

'Sub periode()
' Dim Awal As Date
' Dim akhir As Date
' Awal = Forms!periode! Awal
' akhir = Forms!periode! akhir
'End Sub


Sub BukaPeriode( )
DoCmd.OpenForm "Periode", , , , , acDialog
Awal = Forms("Periode" )!Awal
akhir = Forms("Periode" )!akhir
DoCmd.Close acForm, "Periode"
End Sub


Perhatikan saya telah mendeklarasikan variabel awal dan akhir menjadi
public, artinya dari modul lain bisa mengambil nilai variabel tersebut
dengan cara seperti:

dim a as date
a = periode.awal

variabel a kita isi variabel awal dari module periode. sampai sini paham kan
?

Trik berikutnya adalah sub BukaPeriode.
Procedure ini dimaksudkan untuk membuka form periode, menunggu masukan, klik
ok, maka form menutup dan variabel awal dan akhir terisi dengan nilai sesuai
form.

Perhatikan langkah-nya:
- buka form periode dalam mode dialog, berarti jendela akan ditempatkan di
atas jendela yang lain, dan menghalangi akses ke window di belakangnya
hingga form ini ditutup.
- setelah form tertutup, maka variabel awal diisikan sesuai text box awal di
form "periode"
- demikian juga variabel akhir
- melepas form periode dari memori (benar-benar tertutup!)

nah sekarang tentu timbul pertanyaan, bagaimana bisa awal bisa mengambil
nilai dari form "periode" sedangkan form tersebut sudah ditutup ?
triknya ada dalam modul form periode berikut:

Option Compare Database

Private Sub Command4_Click( )
' 'buka laporan
' DoCmd.OpenReport "Teman", acPreview
Me.Visible = False
End Sub


ya, tombol ok hanya menyembunyikan form dari pandangan, bukan menutupnya,
sehingga dia keliatan tertutup tetapi sebenarnya masih terbuka, sehingga
kita bisa mengambil nilai property yang ada pada form tersebut. form akan
ditutup di modul periode.bukaperiode .

sampai sini jelas kan?

selanjutnya sekarang perhatikan form teman. modulnya adalah:

Private Sub Command15_Click( )

'MsgBox "Masukkan Periode Yang Diinginkan"
'
''buka form periode
'DoCmd.OpenForm "periode", acNormal

periode.BukaPeriode
DoCmd.OpenReport "Teman", acViewPreview, , "[hut] between # " &
Format(periode. Awal, "m/d/yyyy") & " # and # " & Format(periode. akhir,
"m/d/yyyy") & "#"

End Sub


sekarang kita bisa memanggil prosedur bukaperiode dari modul periode dari
form teman dengan sintak periode.bukaperiode
apa yang dilakukan adalah membuka form periode secara modal, menerima
inputan, dan menyimpan nilai inputan ke dalam public variabel awal dan
akhir, lalu menutup form periode.
Nah sekarang apa yang anda inginkan sudah tercapai, anda bisa buka report
"teman" berdasarkan nilai dari modul periode seperti dalam perintah:

DoCmd.OpenReport "Teman", acViewPreview, , "[hut] between # " &
Format(periode. Awal, "m/d/yyyy") & " # and # " & Format(periode. akhir,
"m/d/yyyy") & "#"

Nilai periode.awal dan periode.akhir tetap bisa anda gunakan untuk keperluan
di report2 yang lain.

Mudah-mudahan sejalan dengan apa yang diinginkan.


Aksan Kurdin


CGSATU wrote:


Saya mau tanya,

bagaimana ya caranya parsing value (umpankan nilai) dari satu module ke
modul lain di MS Access?

Jadi kalau dilihat pada file yang saya kirimkan, akan ada dua buah module,
satu namanya module Navigasi, disini semua fungsi untuk menjelajah data saya
simpan dan bisa digunakan untuk semua form yang (bakalan) ada di aplikasi

Tidak ada masalah disini

Nah, sekarang masalah modul periode, disini, nampak bahwa saya ingin
mengambil nilai dari form periode, dimana ada tanggal awal dan tanggal akhir

Dua nilai yang ada dalam variabel (awal dan akhir) ini, ingin saya
manfaatkan berkali-kali.

Bagaimana caranya?

Jadi jika saya ingin membuat laporan atau data berdasarkan periode, saya
TIDAK PERLU berulangkali menuliskan kode sbb :

DoCmd.OpenReport "Teman", acViewPreview, , "[hut] between # " &
Format([awal] , "m/d/yyyy") & " # and # " & Format([akhir] , "m/d/yyyy") & "
#"

Jadi keinginan saya adalah, form Periode cuma sebagai alat ambil nilai
(dalam kasus ini tanggal). Dan jika saya buat tabel lain, yang ada datanya,
form Periode dan Module periode ini tetap bisa "supply data tanggal"
berkali-kali.

O ya, tentu saya pakai MS Access 2003, dengan format masih di MS Access
2000.

Terimakasih banyak sebelumnya

No comments:

Post a Comment