/* */

Wednesday, April 20, 2011

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

[Attachment(s) from Aksan Kurdin included below]

Lupa saya sertakan attachment excel bagi yang tidak bisa tampil di mail client captur-an gambar saya.

aksan kurdin

On 4/20/2011 2:31 PM, Aksan Kurdin wrote:
Sekarang saya jelaskan bagaimana mengeset property tag, dan bagaimana memanfaatkan sub setmode untuk memenuhi keinginan agus ariyanto.

Property tag di set seperti pada gambar berikut. Anda bisa select control yang sejenis dan memberikan tag sekaligus.



Berikut daftar tag selengkapnya:
Name Type tag
ID Textbox e
Bulan Textbox e
combo25 Combobox e
Tahun Textbox e
PPPP Textbox e
PoPoPo Textbox e
new Command Button cv
save Command Button ce
tb_periode Subform g


Setelah selesai, pelajari perintah berikut:
Private Sub Form_Open(Cancel As Integer)     Me.txtDummy.SetFocus     SetMode 1 End Sub  Private Sub new_Click()     Me.txtDummy.SetFocus     SetMode 2     DoCmd.RunCommand acCmdRecordsGoToNew End Sub  Private Sub save_Click()     DoCmd.RunCommand acCmdSaveRecord     Me.txtDummy.SetFocus     SetMode 1     Me.tb_periode.Requery End Sub 


% pada saat form pertama kali di buka, kita set modenya sebagai view, maka kita panggil sub setmode 1
% saat tombol tambah di tekan, maka mode kita set ke 2, dan form kita bawa ke new record position
% save record pada saat tombol simpan juga membuat mode form kembali ke view, sub form kita refresh.

Anda perhatikan, ada txtDummy. Saya manfaatkan control ini supaya kode setmode bisa berjalan sempurna. Jika kontrol sedang mendapat fokus, kita tidak bisa mengeset mode enable/lock-nya, harus pindah fokus dulu.
Text dummy ini saya buat keciiiiiiiiiiiiiiiil sekali, sehingga transparan:




(bersambung)


aksan kurdin






On 4/20/2011 2:09 PM, Aksan Kurdin wrote:
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