/* */

Wednesday, April 20, 2011

Re: [belajar-access] tanya masalah form. [1 Attachment]

[Attachment(s) from Aksan Kurdin included below]

Pertanyaan yang bagus, jawabannya pun juga sudah masuk level advance :)
Pembahasan berikut membutuhkan pemahaman pada vba.

Untuk mengatur enable/disable suatu control berdasarkan kondisi tertentu, saya jabarkan melalui dua kondisi berikut:
- form berada dalam mode Editable, berarti semua kontrol input bisa menerima masukan dari papan ketik / mouse
- form berada dalam mode View, berarti semua kontrol input read only.

Ada beberapa cara yang bisa dilakukan, tetapi kali ini saya akan mencoba menjelaskan pemanfaatan property tag pada setiap control.

% kontrol textbox dan combo box memiliki property locked dan enable. Kita ingin kondisi berikut:

mode enable locked
edit TRUE FALSE
view FALSE TRUE

artinya, jika form berada dalam mode editable, maka dia enable dan tidak di lock. Sebaliknya jika berada dalam mode view, maka control tidak bisa di edit dan disable.

% kontrol command button hanya memiliki property enable. Khusus untuk kontrol ini kita bagi dua, satu kondisi yang enable saat mode view, dan satu kondisi yang enable pada mode edit.
contohnya adalah tombol tambah hanya enable saat mode view, dan tombol simpan hanya enable pada saat mode edit.
kita ingin kondisinya sebagai berikut:

mode enable (tombol tambah) enable (tombol simpan)
edit FALSE TRUE
view TRUE FALSE

% kontrol grid, dengan logika yang sama, maka kondisi yang diinginkan adalah:
mode enable
edit FALSE
view TRUE


Mungkin agak bingung membayangkannya, saya kasihkan sekarang potongan kodenya:

Sub SetMode(mode As Integer)     'mode: 1:view, 2:edit          Dim ctl As Control     For Each ctl In Me.Controls         Select Case ctl.Tag             Case "e":                 ctl.Locked = (mode = 1)                 'ctl.Enabled = (mode = 1)                              Case "cv":                 ctl.Enabled = (mode = 1)                          Case "ce":                 ctl.Enabled = (mode = 2)                              Case "g":                 ctl.Enabled = (mode = 1)         End Select     Next ctl End Sub 

Apa yang dilakukan kode diatas ?
SetMode menerima parameter mode, kalau kita kirim 1, berarti semua kontrol di form akan diset sebagai mode view, dan kalau diset 2, maka mode menjadi editable.
variabel ctl digunakan untuk looping semua control yang terkandung dalam form. dalam proses looping, disinilah peran property tag kita manfaatkan.
dengan memberikan tag khusus pada kontrol2 dalam form, kita bisa set property lainnya dari control tersebut.
untuk kasus ini, perjanjiannya adalah sebagai berikut:
% e, tag untuk textbox dan combo box
% cv, tag untuk command button di mode view (tambah)
% ce, tag untuk command button di mode edit (simpan)
% g, tag untuk grid.

Nah, anda perhatikan sedikit trik untuk mengeset property control. contohnya:
ctl.locked = (mode=1)

ini berarti locked bernilai true (ter-lock) hanya jika mode yang dikirim bernilai 1 (view).


Saya kirim aplikasinya sekarang, pembahasan masih berlanjut ....


(bersambung)





On 4/19/2011 7:25 PM, Agus Ariyanto wrote:
 

Dear para master ......


Saya pny database nih, mohon bantuan nya. Saya juga lampirkan file acces nya sebagai contoh.

Silahkan teman2 buka file itu :

1. Dalam form rekam data, saya mau lock/kunci semua field spt textbox dan combo kecuali combuton "Tambah". Nah, setelah kita klik combutton "Tambah", barulah textbox dan combo aktif dan kita sudah bisa mengisi data dlm textbox.
Pertanyaan nya, bagaimana caranya ?

2. Dalam form rekam data, textbox "ID" diisi kombinasi tahun dan bulan, contoh 201104. Nah, bagaimana caranya agar textbox "ID" tsb terisi secara otomatis setelah kita memilih bulan dan mengisi tahun tanpa harus diisi manual ???

3. Dalam form edit data, diform itu saya tidak bisa menghapus data dari nomor ID yang saya tentukan, mohon bantuan ???


Demikian pertanyaan dari saya, maklum saya masih newbie.....
Harapan semoga teman2 bisa bantu saya......
Sekian, terima kasih !!!!



Attachment(s) from Aksan Kurdin

1 of 1 File(s)


__._,_.___


SPAM IS PROHIBITED



Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___

No comments:

Post a Comment