top of page

Tutorial PB 3

  • pbdccindonesia
  • Sep 14, 2016
  • 3 min read

Sample kali ini adalah membuat modul entry untuk data “siswa”….

Modul ini berupa window dgn beberapa tombol dan datawindow sbg interface datanya.

Datawindow sendiri berfungsi sbg display, serta memungkinkan user untuk memanipulasi, update data dan informasi yg lain.

Window sendiri dalam hal ini berfungsi sbg tempat datawindow tersebut.

Jadi kalo digambarkan akan memiliki urutan sb :

Data – Datawindow – Window

Mari kita mulai…….Klik tombol “New” sampai tampil spt ini…..

Pilih tab “DataWindow”, pilih “Freeform” dan klik tombol OK

Klik tombol “Next >”

Klik table “tblsiswa” dan klik tombol “Add All” serta diikuti tombol OK, sampai tampil modul spt ini……

Klik tombol “Next >”

Untuk mengakhiri klik tombol “Finish” …datawindow anda sudah jadi…

Setup/lihat update properties… datawindow-nya….klik menu “Rows” dan klik menu “Update Propertiesnya”……spt ini

Perhatikan ….setting updatenya sudah benar….klik OK

Note :

Allow Updates–nya sudah di centang

Table to Update–nya sudah benar

Updateable Columns–nya sudah benar

Unique Key Column(s)–nya juga sudah benar sesuai primary key mysql sbg databasenya.

Begitu juga klausa dan key modifikasinya juga sudah benar.

Save datawindow tersebut……dg nama “dw_entri_siswa”……dan klik OK

Tampak di system tree anda ……

Selanjutnya membuat window sbg tempat kontrol datawindow “dw_entri_siswa” tersebut

Tidak perlu saya jelaskan secara rinci langkah2 nya karena di sample sebelumnya telah ada sample membuat window.

Perhatikan di window ini ada 9 tombol spt tampak di gambar atas…..

Perhatikan propertiesnya ….anda buat spt contoh ini..

Klik datawindow “dw_entri_siswa” yg ada di system tree dan drag ke window….spt ini

Rapikan sehingga menjadi spt ini…(atur lebar dan tata letakknya)

Perhatikan properties datawindow “dw_entri_siswa”….

Name control datawindow ini adalah “dw_1” ….nama ini bisa anda ganti sesuai keinginan anda…sementara kita pakai “dw_1” dulu…..

Double click di area kosong window untuk mengaktifkan “open” event nya dan ketik :

dw_1.setTransObject(SQLCA)

Selanjutnya mari kita isi click event dari masing2 tombolnya…..

Kita mulai dari tombol “Retrieve”….. double click tombol tsb….ketik koding ini :

dw_1.retrieve()

Note :

dw_1 adalah nama dari kontrol datawindownya spt yg dijelaskan di atas

setTransObject(SQLCA) berfungsi untuk memberikan sepisifikasi object transaksi yg di pergunakan, dalam hal ini adalah SQLCA.

retrieve() adalah perintah untuk SELECT (table/view) atau EXEC (store procedure).

Double click tombol “Add” dan ketik koding berikut….(untuk menambah)

dw_1.ScrollToRow(dw_1.insertrow(0))

dw_1.setcolumn(1)

dw_1.setfocus()

Note :

insertrow(0) berfungsi untuk menambahkan data baru

scrolltorow() tersendiri berfungsi untuk mengeser pointer ke row baru/kosong tsb.

setcolumn(1) aktifkan kolom 1

setfocus() aktifkan kursor

Double click tombol “Update” dan ketik koding berikut…(untuk menyimpan)

if dw_1.update()=1 then

commit;

messagebox('Info..','Penyimpanan Sukses !',information!,ok!)

else

rollback;

messagebox('Info..','Penyimpanan Gagal !',information!,ok!)

return

end if

Note :

Jka update() sukses, return value =1 maka “commit” jika tidak akan di “rollback” atau di kembalikan spt keadaan sbl proses editing.

Double click tombol “Delete” dan ketik koding berikut…(untuk hapus data)

if messagebox("Hapus Data","Anda Yakin ?",Exclamation!,YesNo!,2)=2 then return -1

if dw_1.rowcount()>0 then

dw_1.deleterow(0)

dw_1.setfocus()

if dw_1.update()=1 then

commit;

messagebox('Info..','Penghapusan Sukses !',information!,ok!)

else

rollback;

messagebox('Info..','Penghapusan Gagal !',information!,ok!)

return -1

end if

else

return -1

end if

Note :

deleterow(0) berfungsi untuk menghapus row aktif.

Double click tombol “Close” dan ketik koding berikut…(untuk close window)

close(parent)

Double click tombol “<<” dan ketik koding berikut…(untuk go top)

if dw_1.getrow() = 1 then

messagebox(":)","Data pertama !",Information!,Ok!)

else

dw_1.scrolltorow(1)

end if

Note :

getrow() berfungsi untuk mengecek row aktif di datawindow ….jika = 1 artinya di row pertama.

scrolltorow(1) artinya mengeser pointer ke record/row 1

Double click tombol “<” dan ketik koding berikut…(untuk ke row sebelumnya)

if dw_1.getrow() = 1 then

messagebox(":)","Data pertama !",Information!,Ok!)

else

dw_1.scrollpriorrow()

end if

Note

scrollpriorrow() untuk menggeser pointer ke row sebelumnya

Double click tombol “>” dan ketik koding berikut…(untuk ke row berikutnya)

if dw_1.getrow() =dw_1.rowcount() then

messagebox(":)","Data terakhir !",Information!,Ok!)

else

dw_1.scrollnextrow()

end if

Note :

rowcount() untuk mengetahui jml row/record yg ada di datawindow

scrollnextrow() untuk ke row berikutnya

Double click tombol “>>” dan ketik koding berikut…(untuk go bottom)

if dw_1.getrow() = dw_1.rowcount() then

messagebox(":)","Data terakhir !",Information!,Ok!)

else

dw_1.scrolltorow(dw_1.rowcount() )

end if

Note :

scrolltorow(jml row datawindow) artinya sama juga ke row terakhir

Ok…..koding sudah selesai …save window anda dg nama “w_entri_siswa”

Selanjutnya double click menu “Entri &Siswa” dan ketik koding untuk memanggil window “w_entri_siswa” spt ini……

Perhatikan koding di m_file.m_entrisiswa :

opensheet(w_entri_siswa,w_utama,2,original!)

Note :

Membuka window “w_entri_siswa” sbg sheet atau lembar kerja yg bernaung di bawah/di dalam window “w_utama”.

Angka 2 menunjukkan nomor menu item yg diasosiasikan dg sheet yg di buka.

original! menandakan window di open sesuai ukuran aslinya.

(anda bisa melihat detail penjelasan di help PB….blok command yg ingin dilihat detail helpnya dan tekan tombol Shift + F1)

Kenapa dipakai opensheet() bukan open(w_utama) spt contoh sebelumnya ?

Kalo anda pakai open(w_utama) maka akan di anggap window terpisah dari window mdi!-nya dan bersifat tdk “always on the top” atau modeless

Save perubahan di menu “mn_siswa” …..

Jalankan aplikasi anda…..klik tombol “Run” klik menu File > Entri Siswa

Begitulah tampilan sheet/window entri anda…..jika data sudah ada klik tombol “Retrieve” untuk menampilkan data yg pernah di entri….

Klik tombol “ADD” isi data spt ini dan klik tombol “Update”…

Yap….data tersimpan dg sukses J klik OK

Ok dengan demikian sample datawindow dan window entri sudah selesai J

Apakah sample di atas sudah maksimal ?! Jelas belum….

Anda masih bisa mempercantik tampilan-nya dan memberikan toolbars sheetnya…

Akan di bahas di sample berikutnya……

Sukses untuk anda !!


 
 
 

Comments


Featured Posts
Check back soon
Once posts are published, you’ll see them here.
Recent Posts
Archive
Search By Tags
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page